是否可以使用 javascript“Set”对象来查找具有特定键的元素?像这样的东西:
let myObjects = [{"name":"a", "value":0}, {"name":"b", "value":1},{"name":"c", "value":2}];
let mySet = new Set(myObjects);
console.log(mySet.has({"name":"a"}));
原文由 Alexandre Senges 发布,翻译遵循 CC BY-SA 4.0 许可协议
不是那样,那会查找您传入的特定对象,该对象不在集合中。
如果您的起点是对象数组,则根本不需要
Set
,只需Array.prototype.find
:如果您已经有一个
Set
并想在其中搜索匹配项,则可以直接通过for-of
使用它的迭代器:…或通过
Array.from
间接地(重新)创建(the)一个数组,然后使用find
:如果这是你需要经常做的事情,你可以给自己一个实用函数:
你甚至可以把它放在
Set.prototype
上(确保它是不可枚举的),但要小心与未来添加到Set
的冲突( _例如_,如果Set.prototype
在某些时候得到了find
方法)。