Set Map 后面跟的都必须是可迭代的对象
Set
Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。
add( ) has( ) size delete( )- let myset = new Set()
- //添加
- console.log(myset.add(1));//{1}
- console.log(myset.add(6));// {1, 6}
- let p = { a: 1, b: 2 }
- console.log(myset.add(p));// { 1, 6, { a: 1, b: 2 } }
- //查找
- console.log(myset.has(1));//true
- console.log(myset.has(5));//false
- //长度
- console.log(myset.size);//3
- //删除
- myset.delete(1)
- console.log(myset); //{ 6, { a: 1, b: 2 } }
复制代码 new Set(可迭代的对象)- let arr = new Set([1,2,3,4])
- console.log(arr);// {1, 2, 3, 4}
- let str=new Set('asdfg')
- console.log(str);// {'a', 's', 'd', 'f', 'g'}
- let arr1=[4,5,6,8,7]
- let arr2=new Set(arr1)
- console.log(arr2);//{4,5,6,8,7}
复制代码 因为Set是存储任何类型的唯一值,所有可以直接数组去重- let arr1 = [4, 5, 4, 8, 7]
- let arr2 = [...new Set(arr1)]
- console.log(arr2);//[4,5,8,7]
复制代码 Map
Map与Object类似
Map 对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象或者基本类型)都可以作为一个键或一个值。
存储数据到 Map 中的方式是使用 set(key, value) 方法。
使用 Map 类型和 new 关键字来创建 Map:
不仅仅是数组,任何具有 Iterator 接口、且每个成员都是一个双元素的数组的数据结构 所以 Set Map 数组 都可以创建 Map
创建空map 再添加
- let map1 = new Map();
- map1.set('123',123)
复制代码 数组创建Map
- const m2 = new Map([['baz', 3]]);
复制代码 set 创建Map
- const set = new Set([
- ['foo', 1],
- ['bar', 2]
- ]);
- const m3 = new Map(set);
- console.log(m3);//{'foo' => 1, 'bar' => 2}
复制代码 map 创建新的map
注意 m3 === m2 //falseMap 增 删 查 清空
.set( ) .delete( ) .has( ) .clear( )- const map = new Map();
- map.set('foo', true);
- map.set('bar', false);
- console.log(map.size);//2
- console.log(map);//{'foo' => true, 'bar' => false}
- map.set(1,22)
- console.log(map)//{'foo' => true, 'bar' => false, 1 => 22}
- map.set(1, 33)
- console.log(map)//{'foo' => true, 'bar' => false, 1 => 33}
- console.log(map.get(1));//33
- console.log(map.get(5));//undefined
- console.log(map.has(1));//true
- console.log(map.has(2));//false
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |