“集合对数组就像映射对对象一样”是什么意思?

时间:2019-03-28 10:16:25

标签: javascript ecmascript-6 set maps

我正在学习ES6,偶然发现this video中的这个短语指出: “您可以说集合就像数组到对象一样。”

这句话是什么意思?为什么Set比数组更链接数组? (反之亦然)

我知道这是一个非常具体的问题,但是自从我听到这句话以来,我的头真的转了转!

预先感谢您,我是新来的关于SO的问题,因此欢迎提出任何评论。

1 个答案:

答案 0 :(得分:3)

Set是值的集合,就像数组是值的集合一样(除了.length / .size之外,不包含任何键)

Map是键值对的集合,就像对象是键值对的集合一样。 (尽管Map的键可以是任何,而不仅仅是字符串)

当然,还有更多差异,但是键值对之间的区别与您要问的内容最相关。

Map和对象示例:

const key = 'key';
const value = 'value';

const map = new Map();
const obj = {};

map.set(key, value);
obj[key] = value;

Set和数组示例:

const value = 'value';

const set = new Set();
const arr = [];

set.add(value);
arr.push(value);