javascript array method



concat()


連結配列
let a = [1,2,3];
let b = ["a","b","c"];

a.concat(b); // [1,2,3,"a","b","c"]
a // [1,2,3] 원본은 그대로

filter()


指定した関数を通る配列の要素を返します.
let a = [1,2,3,4];
a.filter(x=>x<3); // [1,2]

forEach()


各アレイ要素に対して提供される関数を実行します.
let a = [1,2,3];
let b = []

a.forEach(x=>b.push(x));
b // [1,2,3]
includes()
配列に特定の要素が含まれていることを確認
let a = [1,2,3];
a.includes(3); // true
a.includes(5); // false

indexOf(), lastIndexOf()


-1がない場合は、特定の要素のインデックスを返します.
LastIndexOfを逆の順序でナビゲート(速度差)
let a = [1,2,3];
a.indexOf(3); // 2
a.lastIndexOf(3); // 2 
a.lastIndexOf(5); // -1

map()


アレイ内のすべての要素の提供関数を呼び出します.
結果を収集して新しいシナリオを返す
let a = [1,2,3];

a.map(x=>x**2) // [1,4,9]

push(), pop() / unshift(), shift()


push,pop:配列の末尾の要素を挿入し,返す
unshift,shift:配列の先頭にある要素を挿入し、
unshift,shiftの速度はpush,popに比べて非常に遅い.
できるだけpushとpopを使います.
let a = [1,2,3];

a.push(4); 
a // [1,2,3,4]
a.pop() // [1,2,3]
a.unshift(0)
a // [0,1,2,3]
a.shift()
a // [1,2,3]

reduce(), reduceRight()


アレイ内の各要素に累積計算値を持つ関数を適用して、値を返します.
let a = [1,2,3];
a.reduce((x,y)=>x+y); // 6

slice()


アレイの開始から終了までslice
let a = [1,2,3,4,5];
a.slice(2) // [3,4,5]
a.slice(1,3) // [2,3]

splice()


splice(Start,deleteCount, item1, item2, ...)
配列内の要素を削除するか、新しい要素を追加します.
let a = [1,2,3,4,5];
a.splice(4) // [5] 삭제된 배열 리턴
a // [1,2,3,4]

a.splice(1,2) // [2,3]
a // [1,4]

a.splice(1,1,0,0,0,0,0) // [4]
a // [1,0,0,0,0,0]

sort()


パラメータが挿入されていない場合は、Unicodeコードポインタでソートします.
let a = [1,2,19,5]
a.sort()
a // [1,19,2,5]

a.sort((a,b)=>a-b); // [1,19,2,5] 오름차순
a.sort((a,b)=>b-a); // [19,5,2,1] 내림차순