为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

茅侃侃 2023-07-14 16:38:26
可以说我有这样的对象:{1: [1,2,3],2: [4,6,7],3: [5, 8,9,10]etc..}现在我想通过值获取值和键。所以我的输入是:5,我需要获取包含该 5 的对象的键和值,所以它3:[5,8,9,10]在上面的示例中。钥匙就像物品的价值一样重要。JS中有这样的方法吗?像包含在数组上之类的东西还是我需要循环它?如果对象有大约 10k 个键怎么办?
查看完整描述

2 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

您可以使用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);


查看完整回答
反对 回复 2023-07-14
?
九州编程

TA贡献1785条经验 获得超4个赞

如果对象有大约 10k 个键怎么办?

您将必须迭代所有键/属性,没有办法解决这个问题。Array#includes也这样做,只是在内部。

一个简单的解决方案是Object.keys结合Array#find

const result = Object.keys(obj).find(key => obj[key].includes(value));


查看完整回答
反对 回复 2023-07-14
  • 2 回答
  • 0 关注
  • 96 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信