JS中的Set与Map
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()
console.log(arr);// {1, 2, 3, 4}
let str=new Set('asdfg')
console.log(str);// {'a', 's', 'd', 'f', 'g'}
let arr1=
let arr2=new Set(arr1)
console.log(arr2);//{4,5,6,8,7} 因为Set是存储任何类型的唯一值,所有可以直接数组去重
let arr1 =
let arr2 = [...new Set(arr1)]
console.log(arr2);// 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 //false
const m3 = new Map(m2);Map 增 删 查 清空
.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
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]