在檢視mdn文件中array.prototype.filter()時,看到這樣一段話:測試 1
var arr = [1,2,3];
var flag = 0;
arr.filter(function(val)
console.log(val); /*每次輸出傳給callback函式的元素*/
console.log('當前陣列:' + arr); /*每次輸出當前的陣列*/
});
輸出
可以看出,4雖然被加入到了陣列中,但並未被訪問
測試2
var arr = [1,2,3,4,5,6];
arr.filter(function(val,index)
console.log('引數:' +val);
console.log('當前陣列:' + arr);
});
arr[4]被改變,訪問到的值為改變後的值;arr[5]被刪除,因此沒有被callback訪問只進行了5次輸出
先看看簡單的for迴圈var arr = [1,2,3,4];
試試foreach()迴圈
與filter()的描述相同,不過最後一句提到:
自己測試一下
mdn例子
刪除兩個元素
簡單對比可看出,刪除了幾個元素,就有幾個當前元素後的元素被跳過,可以簡單的理解為遍歷時的參照為元素的下標,無論元素是否移動,下乙個始終訪問的是當前元素下標+1的元素
for迴圈的使用 遍歷陣列
一 迴圈結構的4個要素 初始化條件 迴圈條件 迴圈體 迭代條件 二 for迴圈的結構 for 執行過程 練習1 運用for迴圈輸出100個helloworld class test 練習2 遍歷100以內的偶數 class test 練習3 遍歷100以內的偶數,並輸出所有偶數之和 class te...
迴圈遍歷陣列方法
迴圈遍歷陣列方法總結 1 while迴圈語句 while 條件表示式 2 do while迴圈語句 dowhile 條件表示式 while和do.while區別 while是先判斷條件是否成立再執行迴圈體 do.while是先執行一次迴圈再判斷條件是否成立 do.while迴圈體中至少被執行一次3 ...
js迴圈遍歷陣列的方式
最近在寫前端 裡面經常涉及到陣列的迴圈取值。這裡簡單總結下前端中陣列遍歷的四種方式 假設有如下陣列 members,每個陣列元素是乙個字典 map,要遍歷陣列列印每個memberid的值。var members 通過陣列下標方式訪問,比較通用的方法 for var index 0 index mem...