繁体   English   中英

作为数组数组的地图对象的javascript查找值

[英]javascript lookup value of a map object which is array of array

我有一个 JS map对象(这里是 JS 的新手),它是一个数组数组,如下所示:

scores=[["key_1",true],["key_2",false],["key_3",false]....["key_n",true]]

我可以像这样访问控制台上的值:

scores[0] //outputs ["key_1",true]
scores[0][0] //outputs "key_"
//..and so on.

但是,我如何对对象数组中的特定键进行(快速)查找,例如:

scores[["key_3"]] //obviously wont work
//expected output: false

你可以简单地find钥匙。

 const scores=[ ["key_1",true], ["key_2",false], ["key_3",false], ["key_4",true] ]; var score = scores.find(score => score[0]==="key_3") console.log(score[0]+" is "+score[1])

返回:

key_3 is false

您还可以将数组数组转换为Map对象。

轻松访问键值对,同时它仍然是可迭代的。

 const scores=[ ["key_1",true], ["key_2",false],["key_3",false], ["key_4",true] ] var scoreMap = new Map(); scores.forEach(score => scoreMap.set(score[0], score[1])) console.log("key_4 is "+ scoreMap.get("key_4")) console.log([...scoreMap.keys()])

使用Object.fromEntries()将数组转换为对象。

使用Object.entries()变回数组。

 var scores = [ ["key_1", true], ["key_2", false], ["key_3", false], ["key_4", true] ]; scores = Object.fromEntries(scores); console.log(scores.key_3);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM