使用iterable内置的forEach方法 var a = ['A', 'B', 'C']; a.forEach(function (element, index, array) { // element: 指向当前元素的值 // index: 指向当前索引 // array: 指向Array对象本身 alert(element); }); Set与Array类似,但Set没有索引,因此回调函数的前两个参数都是元素本身: var s = new Set(['A', 'B', 'C']); s.forEach(function (element, sameElement, set) { alert(element); }); Map的回调函数参数依次为value、key和map本身: var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]); m.forEach(function (value, key, map) { alert(value); }); JS中参数不要求一致,可以需要几个写几个(当然多写就是undefined,而且参数名字可以随便瞎写【滑稽】) a.forEach(function (element, index, array,adsf) { // element: 指向当前元素的值 // index: 指向当前索引 // array: 指向Array对象本身 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循环:与java中的foreach类似: for (var x of a) { alert(x); // 'A', 'B', 'C' } JS的默认对象表示方式为{}键值对方式,但是键都是字符串,所以引用了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相似吧但是值不重复,类型也多变; add方法添加元素, var s = new Set([1, 2, 3, 3, '3']); s.add(4);s.delete(2);
//空Map var m = new Map(); // 添加新的key-value m.set('Adam', 67); m.set('Bob', 59); console.log(m) // 是否存在key 'Adam': true if(m.has('Adam')){ console.log(m.get('Adam')) } m.delete('Adam'); // 删除key 'Adam' console.log(m.get('Adam')) console.log(console.log(new Map([[1, 'x'], [2, 'y'], [3, 'z']])))