【发布时间】:2017-09-23 01:00:23
【问题描述】:
假设我有一本类似的字典
objDict = {
id1 : { name: 'someObj1', id: 'someId1' },
id2 : { name: 'someObj2', id: 'someId2' },
id3 : { name: 'someObj3', id: 'someId3' },
}
如果我想在该字典的 Values 中搜索“id”属性的属性“someId2”.. 找到后如何抓取整个对象?
除了使用 for-in 循环迭代字典之外,我真的想不出一个好方法。我正在考虑使用 Object.values() 但即便如此我也想不出一种方法来使用它来获取包含 someId2 的整个对象。我只能确定该属性是否存在。
我只是想知道是否有比 for-in 循环更好的方法。谢谢
【问题讨论】:
-
遍历字典将是性能和可读性方面的最佳解决方案。
-
how would I be able to grab the the whole object after finding it?这是你的问题吗?或者您在问如何在字典中搜索该值? -
@jack 理想情况下我喜欢做类似 objDict.find( x => x.id === 'someId2' ) 的事情,但它不是一个数组。这是一本字典。所以是的,这是一个问题,我想得到整个对象。
-
这里有几个替代方案 (stackoverflow.com/questions/34913675/…) 但@Slai 绝对正确:for-in 循环将提供最佳性能(另外,您可以在找到第一个条目时中断循环)跨度>
标签: javascript ecmascript-6 ecmascript-5