🎴
JavaScript / TypeScript 配列操作まとめ(中級編)
以下の記事の続きです
slice
配列のコピー生成:引数に何も指定しなければただのコピーです
指定した場合は、一部を抜粋して新たな配列をコピーしているというイメージです
(どちらも元の配列には何の影響も無し)
const array1 = [4, 3, 2, 1];
const array2 = array1.slice();
// コピーなので array2 に要素を追加しても array1 に変化はない
array2.push(700);
console.log(array1);
console.log(array2);
// 出力
[4, 3, 2, 1]
[4, 3, 2, 1, 700]
const array3 = [4, 3, 2, 1];
// インデックスが1の要素を含めそこからインデックス3の要素の前まで取り出す
const NewArray = array3.slice(1, 3);
console.log(NewArray);
// 出力
[3, 2]
concat
他の配列と結合:const array1 = [4, 3, 2, 1];
const array2 = [5, 6];
console.log(array1.concat(array2));
// 出力
[4, 3, 2, 1, 5, 6]
fill
配列の要素を固定値で埋める(置き換える):console.log([4, 5, 6, 7].fill(10));
// インデックスが1の要素を含めそこからインデックス3の要素の前まで埋める
console.log([4, 5, 6, 7].fill(10, 1, 3));
// 出力
[10, 10, 10, 10]
[4, 10, 10, 7]
some
1つでも true になるかどうか判定:some()
内での条件に当てはまるものを一つでも見つけ次第 true を返します
const array = [40, 30, 20, 10];
console.log(array.some(value => {
return value > 20;
}));
console.log(array.some(value => {
return value > 60;
}));
// 出力
true
false
every
全ての要素が true になるかどうか判定:配列の全要素が every()
内での条件に当てはまれば true を返します
const array = [40, 30, 20, 10];
console.log(array.every(value => {
return value > 20;
}))
console.log(array.every(value => {
return value < 1000;
}))
// 出力
false
true
Discussion