備忘録として、CODEPREP「JavaScript基礎 配列操作編」に登場するプロパティ、メソッドをまとめてみました。
プロパティ
lengthプロパティ
配列の長さを取得する
コード
var array = ["Taro", "Hanako", "Ichiro"];
console.log(array.length);
コンソール
3
メソッド
pushメソッド
配列の末尾に値を追加する
コード
var array = [1, 2, 3];
array.push(4);
console.log(array);
コンソール
[1, 2, 3, 4]
popメソッド
末尾の要素を取得し、同時に削除する
コード
var array = [1, 2, 3, 4, 5];
var a = array.pop();
console.log(array);
console.log(a);
コンソール
[1, 2, 3, 4]
[5]
shiftメソッド
先頭の要素を取得し、同時に削除する
コード
var array = [1, 2, 3, 4, 5];
var a = array.shift();
console.log(array);
console.log(a);
コンソール
[2, 3, 4, 5]
[1]
unshiftメソッド
配列の先頭に値を追加する(shiftの取り消し)
コード
var array = [1, 2, 3];
array.unshift(0);
console.log(array);
コンソール
[0, 1, 2, 3]
concatメソッド
配列を連結する
コード
var array1 = [1, 2, 3];
var array2 = [4, 5, 6];
var array3 = array1.concat(array2);
console.log(array3);
コンソール
[1, 2, 3, 4, 5, 6]
spliceメソッド
配列の途中から複数の値を削除し、別の複数の値を挿入する
コード
var array = [1, 2, 3, 4, 5, 6];
var a = array.splice(3, 2, 14, 15, 16);
// 第一引数 index: 配列の変更を開始する位置。先頭のインデックスは0。負数の場合は末尾から数えた位置が指定される。
// 第二引数 howMany: 配列から取り除く要素の数。0の場合は要素の削除は行われない。
// 第三引数以降は追加する要素
// 要素を削除した場所に、新たな要素を追加する
console.log(array);
console.log(a);
コンソール
[1, 2, 3, 14, 15, 16, 6]
[4, 5]
配列の途中に値を挿入する
コード
var array = [1, 2, 4];
array.splice(2, 0, 3);
console.log(array);
コンソール
[1, 2, 3, 4]
配列の途中の要素を削除する
コード
var array = [1, 2, 3, 4, 5];
var a = array.splice(1, 2);
console.log(array);
console.log(a);
コンソール
[1, 4, 5]
[2, 3]
indexOfメソッド
先頭から検索して要素の位置を取得する
コード
var array = [1, 2, 3, 5, 3, 2, 7];
var index = array.indexOf(3);
console.log(array);
console.log(index);
コンソール
[1, 2, 3, 5, 3, 2, 7]
2
lastIndexOfメソッド
末尾から検索して要素の位置を取得する
コード
var array = [1, 2, 3, 5, 3, 2, 7];
var index = array.lastIndexOf(3);
console.log(array);
console.log(index);
コンソール
[1, 2, 3, 5, 3, 2, 7]
4
joinメソッド
要素を連結して文字列化する
コード
var array = [1, 2, 3, 5, 3, 2, 7];
console.log(array.join(","));
console.log(array);
コンソール
1, 2, 3, 5, 3, 2, 7
[1, 2, 3, 5, 3, 2, 7]
sliceメソッド
配列の一部を切り出す
コード
var array = [1, 2, 3, 5, 3, 2, 7];
console.log(array.slice(1, 3));
// 第一引数 begin: どこから取得を開始するかを示す0から始まるインデックス。終了位置は含まれない。負数の場合は末尾が指定される。
// 第二引数 end: どこまでを取得するかを示す0から始まるインデックス。負数の場合は末尾から数えた位置になる。省略時は配列の最後までを取得する。
// spliceは元の配列を変更するが、sliceは変更を加えない
console.log(array);
コンソール
[2, 3]
[1, 2, 3, 5, 3, 2, 7]
sortメソッド
配列をソートする
コード
var array = [1, 2, 3, 5, 3, 2, 7];
array.sort();
console.log(array);
コンソール
[1, 2, 2, 3, 3, 5, 7]
条件を指定して配列をソートする
コード
var array = ["one", "two", "three", "four", "five", "six", "seven", "eight"];
// 文字数の多い順にソート
array.sort((a, b) => {
return a.length > b.length ? -1 : 1;
});
console.log(array);
コンソール
["eight", "seven", "three", "five", "four", "six", "two", "one"]
forEachメソッド
個別に要素を処理する
コード
var array = ["Taro", "Hanako", "Ichiro", "Keiko", "Jiro"];
array.forEach((v, idx) => {
// 第一引数 配列のデータ
// 第二引数 配列のインデックス番号
// 第三引数 現在処理している配列
console.log(idx + ": " + v);
});
コンソール
0: Taro
1: Hanako
2: Ichiro
3: Keiko
4: Jiro
filterメソッド
要素を条件で絞る
コード
var array = [1, 2, 3, 4, 5, 6, 7];
var array2 = array.filter(v => { // コールバック関数
return v % 2 === 0;
});
console.log(array2);
console.log(array);
コンソール
[2, 4, 6]
[1, 2, 3, 4, 5, 6, 7]
mapメソッド
要素を変換する
コード
var array = [1, 2, 3, 4, 5, 6, 7];
var array2 = array.map(v => { // コールバック関数
return v + 5;
});
console.log(array2);
console.log(array);
コンソール
[6, 7, 8, 9 , 10, 11, 12]
[1, 2, 3, 4, 5, 6, 7]
findメソッド
条件に合う最初の要素を検索し、その要素を返す
コード
var array = [1, 2, 3, 4, 5, 6, 7];
var a = array.find(v => { // コールバック関数
return v % 2 === 0;
});
console.log(a);
console.log(array);
コンソール
2
[1, 2, 3, 4, 5, 6, 7]
findIndexメソッド
条件に合う最初の要素を検索し、そのインデックスを返す
コード
var array = [1, 2, 3, 4, 5, 6, 7];
var a = array.findIndex(v => { // コールバック関数
return v % 2 === 0;
});
console.log(a);
console.log(array);
コンソール
1
[1, 2, 3, 4, 5, 6, 7]
everyメソッド
すべての要素が条件を満たすかを検証する
コード
var array1 = [1, 2, 3, 4, 5, 6, 7, 8];
var array2 = [2, 4, 6, 8];
var a1 = array1.every(v => { // コールバック関数
return v % 2 === 0;
});
var a2 = array2.every(v => { // コールバック関数
return v % 2 === 0;
});
console.log(a1);
console.log(a2);
console.log(array1);
console.log(array2);
コンソール
false
true
[1, 2, 3, 4, 5, 6, 7, 8]
[2, 4, 6, 8]
someメソッド
いずれかの要素が条件を満たすかを検証する
コード
function isEven(v) {
return v % 2 === 0;
}
var array1 = [1, 2, 3, 4, 5, 6, 7, 8];
var array2 = [1, 3, 5, 7];
var a1 = array1.some(isEven);
var a2 = array2.some(isEven);
console.log(a1);
console.log(a2);
console.log(array1);
console.log(array2);
コンソール
true
false
[1, 2, 3, 4, 5, 6, 7, 8]
[1, 3, 5, 7]
reduceメソッド
要素に関数を適用しながらまとめる(1)
コード
var array = [1, 2, 3, 4, 5];
var a = array.reduce((a, b) => {
return a + b;
});
console.log(a);
console.log(array);
コンソール
15
[1, 2, 3, 4, 5]
要素に関数を適用しながらまとめる(2)
コード
var array = ["Taro", "Hanako", "Ichiro", "Keiko", "Jiro"];
var a = array.reduce((a, b) => {
return a + b.length;
}, 0); // 初期値0
console.log(a);
console.log(array);
コンソール
25
["Taro", "Hanako", "Ichiro", "Keiko", "Jiro"]