![](/img/trans.png)
[英]Is there a way to map a value in an object to the index of an array in 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.