JavaScriptでよく使われる配列の方法のまとめ

3051 ワード

concat()メソッドは、2つ以上の配列パラメータを接続するために任意の複数であってもよい.この方法では、既存の配列は変更されず、接続された配列のコピーのみが返されます.concat()のパラメータが配列である場合、配列ではなく配列内の要素が追加されます.
const a = [1];
const b = [2];
const c = { name: 'hhh' };
console.log(a.concat(b));  // [1, 2]
console.log(a.concat(c));  // [1, { name: 'hhh'}]
console.log(a.concat(b, c));  // [1, 2, {name: 'hhh'}]

sort()配列内の要素をソートし、ソート後の配列を返します.
sort()は配列要素をソートし、ソート後の配列を返します.パラメータ:オプションで、ソート方式を規定する比較関数のデフォルトでsort()メソッドが比較関数をパラメータとして渡さない場合、デフォルトではアルファベット昇順で、要素がアルファベット形式の文字列でない場合はtoString()メソッドを呼び出して要素を文字列のUnicode(符号化)部位に変換し、文字を比較します.
比較関数には2つのパラメータが含まれます.この2つのパラメータは、配列内で比較する2つの要素aとbです.
array.sort(function (a, b) {
	return a - b;  //   return b - a;
});

比較関数の戻り値に基づいて配列の並べ替え方法を決定する:1.比較関数が値<0を返すと、aは前、bは後である.2.比較関数が値=0を返す場合、aとbの相対位置は変わらない.3.比較関数が値>0を返す場合、bは前、aは後である.
var array = [1, 10, 5, 43, 1, 4];
array.sort(function(a, b) {
    return a - b;
});  //  [1, 1, 4, 5, 10, 43]
array.sort(function(a, b) {
    return b - a;
});  //  [43, 10, 5, 4, 1, 1]

pop()配列の最後の要素を削除し、削除した要素を返します.
var a = [1, 2, 3, 4];
var res = a.pop();  // res 4
console.log(a);  // [1, 2, 3]

shift()配列の最初の要素を削除し、削除した要素を返します.
var a = [1, 2, 3, 4];
var res = a.shift();  // res 1
console.log(res);  // [2, 3, 4]

push()配列の末尾に1つ以上の要素を追加し、新しい長さを返します.
var a = [1, 230, 304];
var res = a.push(20);  // 4
console.log(a);  // [1, 230, 304, 20]

unshift()配列の先頭に1つ以上の要素を追加し、新しい長さを返します.
var a = [1, 230, 304];
var res = a.unshift('20');  // 4
console.log(res);  // ["20", 1, 230, 304]

slice(begin,end)は、indexがbeginの開始からindexがendの終了(終了を含まない)に選択した配列の一部を新しい配列オブジェクトに浅くコピーし、元の配列は変更されません.
var a = [1, 32, 34, 42, 2, 4, 42];
var res = a.slice(2, 4);
res  // [34, 42]
a  // [1, 32, 34, 42, 2, 4, 42]

join()は、配列内のすべての要素を指定した区切り記号(デフォルトではカンマ)で区切って文字列に入れ、生成された文字列を返すために使用されます.
var a = ['hello', 'world'];
var res = a.join();
res  // "hello,world"
a  // ["hello", "world"]
var res = a.join('*');
res  // "hello*world"
a  // ["hello", "world"]

indexOf()は、配列内の特定の要素のインデックスを見つけ、下付きindexを返し、見つからない場合は-1を返します.
var a = ['hello', 'world', 'hello', 'hhh']
var res = a.indexOf('hello');
res  // 0
a  // ["hello", "world", "hello", "hhh"]
var res = a.indexOf('hello', 1);
res  // 2

includes()配列に要素が含まれているかどうかを検索し、ブールを返します.
var a = ['hello', 'world'];
a.includes('hello');  // true
a.includes('hello2');  // false

splice()指定された位置/インデックスから指定された数の要素を削除したり、削除後の位置に他の要素を追加したりすることができます.
arr.splice(5, 3);  //    arr      5     ,      
arr.splice(5, 0, 2, 3, 4);  //  arr     5     ,     ,
   5       2, 3, 4