扫码关注官方订阅号
如题所属,写了不好js代码是这两个特性直到现在也没有用过,不知道这两个特性有什么作用,有谁能给段代码示例吗,这俩基本都用在哪里或者能替代什么别的方法
走同样的路,发现不同的人生
map与object的不同在与,object的key只能是一个字符串,而map没这个限制。
set其实就是一个数组,但是子项具有唯一性。
与其说是替代,不如说是不同用途。
说实话,现阶段set和map这两特性的使用率并不高,因为这两特性能够实现的,js的对象及数组同样能模拟实现。并且对象与数组有着更多的原生方法支持,以及众多的js工具库进行操作(大多js工具库并没有提供对这俩新特性的支持)。
关于使用场景,有倒是有的,例如
**set** Array.from(new set(arr))或者[...new set(arr)] 根据set值唯一的特性,能够快速的实现数组除杂。 **map** map的实现主要是为了解决对象key值不能为数字的问题,并且携带了Iterator接口可以供for...of消费, 也就是当你需要用到一个对象结构,key需要为数字的场景,或者需要对对象进行for...of的情景就可以 使用map了 (当然,obj通过解构赋值例如 `for (let [key,value] of Object.entries(obj)){代码块}` 同样可以进行for...of操作 )
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
map与object的不同在与,object的key只能是一个字符串,而map没这个限制。
set其实就是一个数组,但是子项具有唯一性。
与其说是替代,不如说是不同用途。
说实话,现阶段set和map这两特性的使用率并不高,因为这两特性能够实现的,js的对象及数组同样能模拟实现。
并且对象与数组有着更多的原生方法支持,以及众多的js工具库进行操作(大多js工具库并没有提供对这俩新特性
的支持)。
关于使用场景,有倒是有的,例如