javascript - 关于es6的一些新特性set和map
怪我咯
怪我咯 2017-04-11 12:46:03
[JavaScript讨论组]

如题所属,写了不好js代码是这两个特性直到现在也没有用过,不知道这两个特性有什么作用,
有谁能给段代码示例吗,这俩基本都用在哪里或者能替代什么别的方法

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
巴扎黑

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操作
)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号