MSDN 引用了 JavaScript 的 Set 集合抽象。我有一个对象数组,我想将它们转换为一个集合,以便能够按名称删除( .delete()
)各种元素:
var array = [
{name: "malcom", dogType: "four-legged"},
{name: "peabody", dogType: "three-legged"},
{name: "pablo", dogType: "two-legged"}
];
如何将此数组转换为集合?更具体地说,是否可以在不迭代上述数组的情况下做到这一点?文档相对缺乏(对于实例化集足够了;不适用于转换 - 如果可能的话)。
我可能还在考虑转换为 Map ,以便通过键删除。我想要完成的是一个可迭代的集合,可以通过主要通过键(而不是索引)访问元素来访问或修改它。
从一个数组到另一个数组的转换是最终目标。
原文由 Thomas 发布,翻译遵循 CC BY-SA 4.0 许可协议
只需将数组传递给 Set 构造函数。 Set 构造函数接受一个
iterable
的参数。 Array 对象实现了iterable
协议,因此它是一个有效参数。看这里