forEach()遍歷注意事項:數組
var a = [1, 2, 3, 4]; a[6] = 10; a.forEach(function (value, index) { console.log(value);//1,2,3,4,10 }); console.log(a);//[1,2,3,4,empty*2,10]
var a = [1, 2, "", 4]; a.forEach(function (value, index) { console.log(value);//1,2,"",4, }); console.log(a);//[1,2,"",4]
空元素能被遍歷到函數
var a = [1, 2, undefined, 4]; a.forEach(function (value, index) { console.log(value);//1,2,undefined,4, }); console.log(a);//[1,2,undefined,4]
undefined能被遍歷到spa
var a = [1, 2, 3, 4]; a.forEach(function (value, index) { if (index == 0) a[6] = 10; console.log(value);//1,2,3,4 }); console.log(a);//[1,2,3,4,empty*2,10]
var a = [1, 2, 3, 4]; a.forEach(function (value, index) { if (index == 2) delete a[3]; console.log(value);//1,2,4 }); console.log(a);//[1,2,3,empty]
var a = [1, 2, 3, 4]; a.forEach(function (value, index) { if (index == 1) a.shift(); console.log(value);//1,2,4 }); console.log(a);//[2,3,4]
shift()函數會從新調整數組長度,致使原下標對應的值發生改變code
var a = [1, 2, 3, 4]; a.forEach(function (value, index) { if (index == 0) a[1] = 10; console.log(value);//1,10,3,4 }); console.log(a);//[1,10,3,4]
var a = [1, 2, 3, 4]; a.forEach(function (value, index) { if (index == 2) a[1] = 10; console.log(value);//1,2,3,4 }); console.log(a);//[1,10,3,4]