對於遍歷數組的元素,js和jquery都有類似的方法,js用的是forEach而jquery用的是each,簡單舉例;
var arr = new Array(["b", 2, "a", 4],["c",3,"d",6]); arr.forEach(function(item){ alert(item); //b, 2, a, 4和c,3,d,6 });
如果forEach里的回調函數只有一個參數則代表該集合里的元素;
var arr = new Array(["b", 2, "a", 4],["c",3,"d",6]); arr.forEach(function(item, i){ alert(item+"-"+i); //b, 2, a, 4-1和c,3,d,6-2; item.forEach(function(items, j){ alert(items+"---------"+j); //b------0;2-------1;a----2;4------3; c-----0;3-----1;d----2;6----3 }); });
如果forEach里有兩個參數,則第一個參數為該集合里的元素,第二個參數為集合的索引;
在jquery里則不同;
var arr = new Array(["b", 2, "a", 4],["c",3,"d",6]); $.each(arr, function(item){ alert(item); //0;1 });
如果回調函數里只有一個參數時,則為集合的索引;
var arr = new Array(["b", 2, "a", 4],["c",3,"d",6]); $.each(arr, function(i, item){ alert(item+"-"+i); //b, 2, a, 4-1和c,3,d,6-2; $.each(item, function(j, items){ alert(items+"---------"+j); //b------0;2-------1;a----2;4------3; c-----0;3-----1;d----2;6----3 }); });
如果有兩個參數,則第一個為索引,第二個該集合里的元素;