TIL_35_with Wecode 025 javascript about array methods


array反復文として使用されるmapおよびforEachメソッドについて.
Array.map()とは?
mapメソッドは配列を繰り返し、callback関数で返される値で各要素を変更します.
const arr = [1, 2, 3];
const squares = arr.map(x => x * x);
結果は[1,4,9]であった.
この部分を解くと、
const squares = arr.map(function (x) { 
  return x * x;
});
Array.forEach()とは?
foreachはforの代わりに使用される重複文です.
要素が変更された新しい配列が返されると、mapメソッドは何も返されません.foreachはfor文に代わる繰り返し方法である.
let startWithNames = [];
let names = ['a', 'ab', 'cbb', 'ada'];
names.forEach(el => {   
  if (el.startsWith('a')) {     
    startWithNames.push(el);   
  } 
});
const squares = arr.map(x => x * x);の結果は[‘a’,‘ab’,‘ada’]であった.
配列nameで「a」で始まる文字を検索します.
let hasC = false;
let arr = ['a', 'b', 'c', 'd'];
arr.forEach(el => {
  if (el === 'c') {
    hasC = true;
    return;
  }
});
アレイarrに「c」がある場合、hasc=true;結果true.
let idxOfC = -1;
let arr = ['a', 'b', 'c', 'd'];
arr.forEach((el, idx) => {
  //두 번째 인자도 받을 수 있다.
  if (el === 'c') {
    idxOfC = idx;
    return;
  }
});
console.log(startWithNames);の結果は2です.
arr配列では、「c」がいくつ目のインデックスであるかを決定できます.
Assignment
両方の問題はmapメソッドとarrow関数を使用します
1.moreThan 100関数の数値からなる配列をパラメータに渡します.
100以上の場合はtrue
100未満の場合は、要素をfalseに変更します.
新しいレイアウトを返してください.
例:
nums(input)[100, 9, 30, 7]
return[true, false, false, false]
const moreThan100 = nums => {
  let arr = nums.map (
    i => { if (i <100) {
      return false;
    }
          return true;
         }
    )
  return arr;
}
console.log(idxOfC);結果は[true,true,true,true,false]
  • formatDate関数に日付を含む配列を渡します.
    日付のデータ型はstringです.
    送信日タイプは「YYY-MM-DD」
    日付フォーマットを「YYYY年MM月DD日」に変更します.
    新しいレイアウトを返してください.
    例えば、
  • dates(input)['2019-03-21', '2019-04-21', '2019-05-21']
    return['2019년 03월 21일', '2019년 04월 21일', '2019년 05월 21일']
    const formatDate = dates => {
    let str = dates.map (function(arr) { 
    let date = arr.split('-');
    console.log(`${date[0]}${date[1]}${date[2]}`)
      return `${date[0]}${date[1]}${date[2]}`;
     })
      return str;
    }