“设置是数组,因为地图是对象”是什么意思?

问题描述 投票:4回答:1

我正在学习ES6,偶然发现了this video中的这句话:'你可以说,集合是阵列,因为地图是对象'。

这个短语是什么意思 ?为什么Set更多地链接到数组而不是map? (反之亦然)。

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

提前谢谢你,我是SO的新人,所以任何评论都表示赞赏。

javascript ecmascript-6 set maps
1个回答
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);
© www.soinside.com 2019 - 2024. All rights reserved.