コラム:配列の様々なメソッド
目次
説明
『配列』には様々なメソッドがあります。その中で、『反復メソッド』と呼ばれる関数を引数に取る、少し高度なメソッドを中心にここでは紹介します。
『Array.isArray()』
引数が配列かどうかを確認します。配列なら『true』を、配列でないなら『false』を戻します。
以下、結果を、コンソール([F12]→「コンソール」タブ)に出力します。
var test1 = [1, 2, 3];
var res1 = Array.isArray(test1);
var test2 = {a: 1, b: 2, c: 3};
var res2 = Array.isArray(test2);
console.log(res1 + "\n" + res2);
【結果】
true false
『forEach()』
配列中のそれぞれの要素について関数を呼び出します。
array.forEach(function(x, i, a) {
// 配列の各要素ごとに呼び出される処理
});
引数の関数の『x』は配列の各要素、『i』は何番目の要素かの数値、『a』は配列自身になります。
以下、配列の各要素をコンソール([F12]→「コンソール」タブ)に出力します。
var array = [11, 22, 33];
array.forEach(function(x, i) {
console.log(i + ' : ' + x);
});
【結果】
0 : 11 1 : 22 2 : 33
『function(x, i)』のように、関数の引数は『(x, i, a)』の全てを書く必要はありません。値しか使わない場合は、『function(x)』でも構いません。
以下、『ES2015』の『アロー関数』を利用して、似たような処理を書いてみます。
var array = [11, 22, 33];
array.forEach((x, i) => {console.log(i + ' : ' + x)});
【結果】
0 : 11 1 : 22 2 : 33
『filter()』
配列中の要素をフィルタリングして、新しい配列を生成します。
array.filter(function(x, i, a) {
// 配列の各要素ごとに呼び出される処理
return true;
});
引数の関数の『x』は配列の各要素、『i』は何番目の要素かの数値、『a』は配列自身になります。
引数の関数が『true』を戻した要素だけを集めた、新しい配列を生成します。
以下、配列をフィルタリングして、コンソール([F12]→「コンソール」タブ)に出力します。
var array = [11, 22, 33, 44, 55, 66];
var array2 = array.filter(function(x) {
if (x % 2 === 0) {
return true; // 偶数
}
});
console.log(array2);
【結果】
[22, 44, 66]
以下、『ES2015』の『アロー関数』を利用して、似たような処理を書いてみます。
var array = [11, 22, 33, 44, 55, 66]; var array2 = array.filter(x => x % 2 === 0); console.log(array2);
【結果】
[22, 44, 66]
『map()』
配列内のすべての要素に対して関数を実行して、その戻り値の配列を生成します。
array.map(function(x, i, a) {
// 配列の各要素ごとに呼び出される処理
return '新しい値';
});
引数の関数の『x』は配列の各要素、『i』は何番目の要素かの数値、『a』は配列自身になります。
引数の関数の戻り値を集めた、新しい配列を生成します。
以下、配列から新しい配列を生成して、コンソール([F12]→「コンソール」タブ)に出力します。
var array = [11, 22, 33, 44, 55, 66];
var array2 = array.map(function(x) {
return x * 10;
});
console.log(array2);
【結果】
[110, 220, 330, 440, 550, 660]
以下、『ES2015』の『アロー関数』を利用して、似たような処理を書いてみます。
var array = [11, 22, 33, 44, 55, 66]; var array2 = array.map(x => x * 10); console.log(array2);
【結果】
[110, 220, 330, 440, 550, 660]
『配列』のメソッドは、他にもたくさんあります。以下を参考にしてください。
サンプルの入手
以下は、今回出てきたサンプルです。
ZIPでまとめてダウンロード (右クリックから保存してください)
『sample1.html』(サンプル)を表示
プログラムの中身を見たい場合は、それぞれのHTMLファイルをブラウザで開いたあと、右クリックをして『ソースの表示』を選択してください。
メモ帳で、ファイルの中身を見ることができます。





