小编典典

要设置的 JavaScript 数组

all

MSDN 引用了 JavaScript 的Set集合抽象。我有一个对象数组,我想将它们转换为一个集合,以便能够.delete()按名称删除
() 各种元素:

var array = [
    {name: "malcom", dogType: "four-legged"},
    {name: "peabody", dogType: "three-legged"},
    {name: "pablo", dogType: "two-legged"}
];

如何将此数组转换为集合?更具体地说,是否可以在不迭代上述数组的情况下做到这一点?文档相对缺乏(对于实例化集足够了;不适用于转换 - 如果可能的话)。

我可能还在考虑转换为Map,以便通过键删除。我想要完成的是一个可迭代的集合,可以通过主要通过键(而不是索引)访问元素来访问或修改它。

从一个数组到另一个数组的转换是最终目标。


阅读 101

收藏
2022-06-06

共1个答案

小编典典

只需将数组传递给 Set 构造函数。Set 构造函数接受一个iterable参数。Array 对象实现了iterable协议,因此它是一个有效参数。

var arr = [55, 44, 65];
var set = new Set(arr);
console.log(set.size === arr.length);
console.log(set.has(65));

看这里

2022-06-06