我正在学习ES6,偶然发现this video中的这个短语指出: “您可以说集合就像数组到对象一样。”
这句话是什么意思?为什么Set比数组更链接数组? (反之亦然)
我知道这是一个非常具体的问题,但是自从我听到这句话以来,我的头真的转了转!
预先感谢您,我是新来的关于SO的问题,因此欢迎提出任何评论。
答案 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);