🎴

JavaScript(TypeScript)配列操作まとめ ~中級編~

2022/03/09に公開

これ(基礎編)の続きです!
https://zenn.dev/mkosakana/articles/1c9a9f083195e3

配列のコピー生成

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

参照

https://typescriptbook.jp/reference/values-types-variables/array/array-operations#非破壊的なメソッドの一覧

GitHubで編集を提案

Discussion

ログインするとコメントできます