[TIL 12]javascript|複数配列方法


Array.isArray()


パラメータがArrayかどうかを判断します.
Array.isArray([1, 2, 3]);  // true
Array.isArray({foo: 123}); // false
Array.isArray('foobar');   // false
Array.isArray(undefined);  // false
配列であればtrue、配列でなければfalseを返します.

concat()


既存の配列に配列または値を結合して、新しい配列を返します.
const arr1 = ['a', 'b', 'c'];
const arr2 = ['d', 'e', 'f'];
const resultArr = arr1.concat(arr2);

console.log(resultArr);

結果

(6) ["a", "b", "c", "d", "e", "f"]

every()


配列内のすべての要素が所定の判別関数を通過するかどうかをテストします.
const arr  = [1, 5, 7, 10, 13, 16];

console.log(arr.every((value) => value < 20)); //true

some()


配列内の任意の要素が所定の判別関数を通過するかどうかをテストします.
const arr  = [1, 5, 7, 10, 13, 16];

console.log(arr.some((value) => value < 10)); //true

fill()


配列の開始インデックスから終了インデックスまで、静的値で埋め込まれます.
const arr = Array(5);
arr.fill(1) // [1,1,1,1,1]

includes()


配列に特定の要素が含まれているかどうかを判別します.
const fruit = ["orange", "apple", "banana"];
fruit.includes("strawberry"); //false

indexOf()


配列に特定の要素が存在するかどうかを判断し、存在する場合は最初のインデックスを返し、存在しない場合は-1を返します.
const fruits = ["Orange","Strawberry","Apple","Banana", "Strawberry"];
fruits.indexOf("Strawberry"); //1
//arr.indexOf(searchElement[,fromIndex:검색을 시작할 index])
fruits.indexOf("Strawberry", 2); //4
fruits.indexOf("Grape"); //-1

lastIndexOf()


与えられた値を検出できる最後のインデックスを返し、要素が存在しない場合は-1を返します.チェックは逆の順序で行います.
const fruits = ["Orange","Strawberry","Apple","Banana", "Strawberry"];
fruits.lastIndexOf("Strawberry"); //4
fruits.lastIndexOf("Strawberry", 2); //1
fruits.lastIndexOf("Grape"); //-1

join()


配列内のすべての要素を接続し、文字列を形成します.
const arr = ['hello', 'world'];
arr.join(); //hello,world

map()


配列内のすべての要素が指定した関数を呼び出した結果をまとめ、新しい配列を返します.
const numbers = [1, 4, 9];
const doubles = numbers.map(num => (
	 num*2
));

console.log(doubles); //[2, 8, 18]

reduce(), reduceRight()


アレイ内の各要素に累積計算値を持つ関数を適用し、値を返します.reduceは左側から、reduceRightは右側から実行されます.
const arr = [1,2,3,4];

arr.reduce( (a,b) => a+b ); //10
arr.reduce( (a,b) => a+b, 10); //20

reverse()


並べ替え順を反転します.
const arr = [1,2,3,4];

arr.reverse(); //[4, 3, 2, 1]

slice()


タイルの浅いコピーを新しいタイルオブジェクトに戻します.元の配列は変更されません.
const arr1 = [1,2,3]
const arr2 = arr1.slice(); //[1, 2, 3]

splice()


配列内の既存の要素を削除または置換したり、新しい要素を追加したりして、配列の内容を変更します.
const arr = [1,2,3];
arr.splice(2); //[3] (삭제된 배열 리턴)
arr; //[1,2] 원본이 바뀜

const arr = [1,2,3];
arr.splice(1, 0, 1.1);
arr; //[1, 1.1, 2, 3]

sort()


整然と並ぶ.
const arr = ['March', 'Jan', 'Feb', 'Dec'];
arr.sort(); // ["Dec", "Feb", "Jan", "March"]
数値ソートは昇順、降順ではなくUnicodeでソートされますので、昇順、降順でソートする場合は、以下のようにします.
const arr = [1, 30, 4, 21, 100000];
arr.sort( (a,b) => a-b ) // 오름차순
arr.sort( (a,b) => b-a ) // 내림차순

toString


配列内の要素を文字列に戻す
const arr = [1, 2, 'a', 'b'];

arr.toString(); // "1,2,a,b"