javascript学習記録-配列(6)2014/02/23
1012 ワード
配列の方法のECMAScript 5部分
全部で9つです.前のECMAScript 3の方法とめちゃくちゃです.5の方法はデフォルトでは元の配列を変更しません. forEach(処理の関数(配列の要素[、要素のインデックス、配列自体]){/処理…) 1つのパラメータを渡す
唯一の方法はforEach方法を一つのtry...catchに置いて、foreach.break異常を投げることによって中止することです.
全部で9つです.前のECMAScript 3の方法とめちゃくちゃです.5の方法はデフォルトでは元の配列を変更しません.
var data = [1, 2, 3, 4, 5];
var sum = 0;
data.forEach(function(value) {
sum += value; //
});
data // [1, 2, 3, 4, 5]
sum // 15
3つのパラメータを渡すdata.forEach(function(v, i, a) {
a[i] = v +1; // “ +1”
});
data // [2, 3, 4, 5, 6]
forEachが実行を開始すると、breakのような通常の方法で事前に実行を中止することはできません.唯一の方法はforEach方法を一つのtry...catchに置いて、foreach.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("StopIteration");
var a = [1, 2, 3, 4, 5, 6];
function b(v, i, a) {
if(v>3)
foreach.break;
else
a[i] = 0;
}
foreach(a,b);
a // [0, 0, 0, 4, 5, 6]