JS中的Map和Set实现映射对象
使⽤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']]);jsarray删除元素
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]]);
<('micheal');
也可以这样:
var m = new Map(); // 空Map m.set('Adam', 67); // 添加新的key-value m.set('Bob', 59); m.has('Adam'); // 是否存在key 'Adam': ('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.('Adam'))
}
m.delete('Adam'); // 删除key 'Adam'
console.('Adam'))
console.log(console.log(new Map([[1, 'x'], [2, 'y'], [3, 'z']])))
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论