🎴
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」の要素を含めそこから最後まで取り出す
const NewArray = array3.slice(1);
console.log(NewArray);
// インデックスが「1」の要素を含めそこからインデックス「3」の要素の前まで取り出す
console.log(array3.slice(1, 3));
// 出力
[3, 2, 1]
[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, 100, 10, 7]
オブジェクト(連想配列)の操作
Object.keys()
const MyObject = {
a: 'somestring',
b: 42,
c: false
};
console.log(Object.keys(MyObject));
// 出力
// オブジェクト(連想配列)のキーが配列型で出力される
Array ["a", "b", "c"]
// オブジェクト(連想配列)のキーの数
Object.keys(MyObject).length; // 出力: 3
1つでも true であれば、true
some
const array = [40, 30, 20, 10];
console.log(array.some(value => {
return value > 20;
}));
console.log(array.some(value => {
return value > 60;
}));
// 出力
true
false
すべてが true であれば、true
every
const array = [40, 30, 20, 10];
console.log(array.every(value => {
return value > 20;
}))
console.log(array.every(value => {
return value < 60;
}))
// 出力
false
true
参照
Discussion