【メモ】「js権威ガイド」-第7章配列


1.配列方法:
(1).reverse():呼び出し方法の配列内容を逆順にしてコピーしたものではない.
(2).sort():
デフォルトのアルファベットの並べ替えでは、パラメータは比較関数を伝えることができます.この関数のパラメータ1はパラメータ2より小さい場合、負の値を返します.大きい場合、正の値を返します.等しい順序が要求されていない場合、0に戻ります.
a.sort(function(a, b) {
    return a - b;
})
2.ECMAS 5方法:
(1).forEach:
各配列要素の関数を呼び出します.この関数は3つのパラメータ、配列要素の値、索引、配列の参照を含みます.
data.forEach(function(v, i, a){a[i] = v + 1;});
forEachシミュレーションforサイクルbreak:
function foreach(a, f, t) {
    try {
       a.forEach(f, t);
    }
    catch(e) {
        if (e === foreach.break) return;
        else throw e;
    }
}
foreach.break = new Error("StopIreration");
(2).map:
呼び出した配列の各要素を関数に渡すと、関数の戻り値が含まれます.
a = [1, 2, 3];
b = a.map(function(x) {return x * x;});
(3).filter():
配列要素を返すブール値の関数に伝達します.この要素は戻り行列に存在するかどうかを決定します.
a = [1, 2, 3];
b = a.filter(function(x){return x < 2;});
(4).every():
配列内のすべての要素がいずれかの基準に合致しているかどうか:
a = [1, 2, 3, 4, 5];
//true
a.every(function(x) {return x < 10});
(5).some():
基準に適合する部分があるかどうか、または全て不適合と判断するために使用されます.
(6).reduce()、reduceRight():
最初のパラメータは関数です.左から右へ、または右から左へ、関数の2つのパラメータはそれぞれ前の関数の戻り値と次の反復の要素で、2つのパラメータを動作させ、値を返します.
第二のパラメータは、初期値に入ります.
var a = [1, 2, 3, 4, 5];
var sum = a.reduce(function(x, y){return x + y;}, 0);
(7).indexOf()とlastIndexOf():
最初からまたは最後から検索行列の中で最初に与えられた値に一致する索引、最初のパラメータは与えられた値を表し、第二のパラメータ指定はいくつかのインデックスから検索を開始します.
3.配列かどうかを判断する:
//ECMAS5
Array.isArray(arr);
//ECMAS3
var isArray = Array.isArray || function(o) {
    return typeof o === "object" &&
        Object.prototype.toString.call(o) === "[object Array]";
}
4.