亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

根據提供的值獲取指定的對象(鍵和值)

根據提供的值獲取指定的對象(鍵和值)

茅侃侃 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 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號