gpt4 book ai didi

javascript - 如何访问 JavaScript 映射中的(数组)键?

转载 作者:行者123 更新时间:2023-12-05 01:35:15 25 4
gpt4 key购买 nike

我正在遍历一个二维数组以将值设置为 map 。我将 [i,j] 索引存储为映射键,将实际的 arr[i][j] 值存储为映射值:

const arrMap = new Map()

for(let i = 0; i < arr.length; i++){
for(let j = 0; j < arr[i].length; j++){
arrMap.set([i,j],arr[i][j]);
}
}

在这一点上,我已经“控制台记录”了 map ,它似乎已经正确地设置了如下的对:[0,0] => "A"。然后我尝试访问 map 值:arrMap.get([0,0]) 但这返回未定义。如何从我的 arrMap 访问“A”?

我要遍历的示例数组是 [ ["A","B","B"],["A","A","A"] ]

这里有一个非常相似的问题- Array as a javascript map's key?但答案对我来说没有意义。

最佳答案

如果你仔细阅读了另一个问题的答案,你会发现你正在尝试做的事情不能像你试图获取的数组 [0,0] 那样工作与您设置的数组 [0,0] 不同。您或许可以考虑将数组键字符串化。例如:

const arrMap = new Map();
const arr = [
[1, 2, 3],
[4, 5, 6]
];

for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr[i].length; j++) {
arrMap.set(JSON.stringify([i, j]), arr[i][j]);
}
}
console.log(arrMap.get(JSON.stringify([1, 1]))); // 5

关于javascript - 如何访问 JavaScript 映射中的(数组)键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63147802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com