2021年11月25日 更新
どうも、クラゲジュニアです。
今回は、ES2015から追加された配列処理を紹介します。
[TOC]
他の言語のforeachとほぼ同じ挙動。
const arr = [1, 0, 1000, 2089];
arr.forEach((elm) => console.log(elm));
出力
1
0
1000
2089
要素に何かしらの処理を加えた新しい配列を生成。
const arr = [1, 0, 1000, 2089];
const arr2 = arr.map((elm) => elm * elm);
console.log(arr2);
出力
[1, 0, 1000000, 4363921]
配列内の値の総和を返す。
accumulator
には、処理中の総和が代入される。
currentValue
には、処理する値が代入される。
reduce
の第二引数に数値を渡すと、accumulator
の初期値を変更できる。
const arr = [1, 0, 1000, 2089];
console.log(
arr.reduce((accumulator, currentValue) => accumulator + currentValue)
);
console.log(
arr.reduce((accumulator, currentValue) => accumulator + currentValue, 100)
);
出力
3090
3190
条件に当てはまる要素で構成された配列を生成する。
const arr = [1, 0, 1000, 2089];
const arr2 = arr.filter((elm) => elm > 999);
console.log(arr2);
出力
[1000, 2089]
特定の要素を一つ返す。
1番初めに一致した値を返す。
const arr = [1, 0, 1000, 2089];
const arr2 = arr.find((elm) => elm > 999);
console.log(arr2);
出力
1000
条件式に1つでも真であれば真を返す。
const arr = [1, 0, 1000, 2089];
console.log(arr.some(elm => elm > 0))
console.log(arr.some(elm => elm > 3000));
出力
true
false
全てが真であれば真を返す。
const arr = [1, 0, 1000, 2089];
console.log(arr.every(elm => elm > 0))
console.log(arr.every(elm => elm > 3000));
出力
false
false
以上です。