根据提供的值获取指定的对象(键和值)

可以说我有这样的对象:


{

1: [1,2,3],

2: [4,6,7],

3: [5, 8,9,10]

etc..

}

现在我想通过值获取值和键。所以我的输入是:5,我需要获取包含该 5 的对象的键和值,所以它3:[5,8,9,10]在上面的示例中。钥匙就像物品的价值一样重要。JS中有这样的方法吗?像包含在数组上之类的东西还是我需要循环它?如果对象有大约 10k 个键怎么办?


茅侃侃
浏览 97回答 2
2回答

12345678_0001

您可以使用Object.entries()。此代码还将返回更多包含搜索值的对象。const obj = {  1: [1, 2, 3],  2: [4, 6, 7],  3: [5, 8, 9, 10],  4: [5, 11, 19, 110]}const res = {}for (const [key, value] of Object.entries(obj)) {  value.includes(5) ? res[key] = value : null;}console.log(res);

九州编程

如果对象有大约 10k 个键怎么办?您将必须迭代所有键/属性,没有办法解决这个问题。Array#includes也这样做,只是在内部。一个简单的解决方案是Object.keys结合Array#find:const result = Object.keys(obj).find(key => obj[key].includes(value));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript