gpt4 book ai didi

javascript - 如何推送数组的元素并使它们成为映射键

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:12:57 24 4
gpt4 key购买 nike

我刚开始使用 Map 数据结构,我正在尝试完成与这些答案中显示的相反的事情:

How to convert Map keys to array?

的确,我想实现与此处要求相同的目标,但建议的答案不起作用:

确实:

let answers = [1,"2",3];
let myMap = new Map();
myMap.set('0', 'foo');
myMap.set(1, 'bar');
myMap.set({}, 'baz');

myMap.set(answers);

所以我想得到的结果是:

myMap = ( [1, 'foo'],["2",'bar'],[3,'baz'])

但是新数组只是“附加”在 map 的末尾 https://jsfiddle.net/CarmineT/5m02exn8/ ,相反,我想替换每个键(我不介意使用哪个规则),所以我尝试了遍历可迭代的 ( Map ) 这样的

let k = myMap.keys();

for (let [key, value] of iterable) {
k.next().value = answers
}

或者用更优雅的方式,也许是 forEach,但首先我想了解我在这里的错误,因为它不起作用。

在类似的问题上,一个答案确实提到了一个使用树概念的库,但我会尽可能避免使用外部库。

最佳答案

你在找这样的东西吗?

var answers = [1,"2",3];
var myMap = new Map();
myMap.set('0', 'foo');
myMap.set(1, 'bar');
myMap.set({}, 'baz');

var newMap = new Map();

Array.from(myMap.keys()).forEach((k, i) => {
const v = myMap.get(k);
const nk = answers[i];
newMap.set(nk, v);
});

// print map
for (let [k, v] of newMap){
console.log(k, " -> ", v)
}

关于javascript - 如何推送数组的元素并使它们成为映射键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56084494/

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