使用iterable內(nèi)置的forEach方法
var a = ['A','B','C'];a.forEach(function(element, index, array) {// element: 指向當(dāng)前元素的值// index: 指向當(dāng)前索引// array: 指向Array對(duì)象本身
alert(element);
});
Set與Array類似戏仓,但Set沒有索引章母,因此回調(diào)函數(shù)的前兩個(gè)參數(shù)都是元素本身:
var s =new Set(['A','B','C']);s.forEach(function(element, sameElement, set) {
alert(element);
});
Map的回調(diào)函數(shù)參數(shù)依次為value、key和map本身:
var m =new Map([[1,'x'], [2,'y'], [3,'z']]);m.forEach(function(value, key, map) {
alert(value);
});
JS中參數(shù)不要求一致擂错,可以需要幾個(gè)寫幾個(gè)(當(dāng)然多寫就是undefined棵帽,而且參數(shù)名字可以隨便瞎寫【滑稽】)
a.forEach(function (element, index, array,adsf) {
// element: 指向當(dāng)前元素的值
// index: 指向當(dāng)前索引
// array: 指向Array對(duì)象本身
console.log(element, index, array,adsf);
});
VM2066:5 a 0 ["a", "b", "c"] undefined
VM2066:5 b 1 ["a", "b", "c"] undefined
VM2066:5 c 2 ["a", "b", "c"] undefined
for of循環(huán):與java中的foreach類似:
for (var x of a) {? ? alert(x);// 'A', 'B', 'C'
}
JS的默認(rèn)對(duì)象表示方式為{}鍵值對(duì)方式括袒,但是鍵都是字符串官辈,所以引用了Map
var m = new Map([['micheal',99],['bob',90],['baobao',100]]);
m.get('micheal');
也可以這樣:
var m =new Map();// 空Map m.set('Adam',67);// 添加新的key-value m.set('Bob',59); m.has('Adam');// 是否存在key 'Adam': true m.get('Adam');// 67 m.delete('Adam');// 刪除key 'Adam' m.get('Adam');// undefined
Set 與java中的list相似吧但是值不重復(fù),類型也多變贮折;
add方法添加元素裤翩,
var s = newSet([1,2,3,3,'3']);
s.add(4);s.delete(2);