gpt4 book ai didi

javascript - 循环 for 没有得到数组的正确位置,为什么?

转载 作者:行者123 更新时间:2023-11-30 07:07:18 26 4
gpt4 key购买 nike

我正在学习 JavaScript,我遇到了以下情况:

我的代码:

alfabetoMadegues = "jngmclqskrzfvbwpxdht"

var listaLetras = Array.from(alfabetoMadegues);

dicionario_Madegues = {};

for (var i = 0 < listaLetras.length; i++;) {
listaLetras.forEach(element => {

dicionario_Madegues[element] = i;
})
};

如果“j”是数组的第一个元素为什么“j”接收的是 2 而不是 0?为什么我会得到这个结果?

预期的结果应该是:

"j" 0
"n" 1
"g" 2
"m" 3
"c" 4
"l" 5

最佳答案

ES6 Soluce 又名 ECMA2015 - see compatibility table


作为 Array.forEach 的第二个参数,您可以获得元素的位置;例如:

const alfabetoMadegues = 'jngmclqskrzfvbwpxdht';

const listaLetras = Array.from(alfabetoMadegues);

const dicionario_Madegues = {};

listaLetras.forEach((x, xi) => {
dicionario_Madegues[x] = xi;
});

console.log(dicionario_Madegues);


还有,使用Array.reduce比较合适;例如

PS:我们使用Spread运算符...和动态 key 命名[x]

const alfabetoMadegues = 'jngmclqskrzfvbwpxdht';

const listaLetras = Array.from(alfabetoMadegues);

const dicionario_Madegues = listaLetras.reduce((tmp, x, xi) => ({
...tmp,

[x]: xi,
}), {});

console.log(dicionario_Madegues);



ES5 解决方案


var alfabetoMadegues = 'jngmclqskrzfvbwpxdht';

var listaLetras = Array.from(alfabetoMadegues);

var dicionario_Madegues = {};

for (var i = 0; i < listaLetras.length; i += 1) {
dicionario_Madegues[listaLetras[i]] = i;
}

console.log(dicionario_Madegues);

关于javascript - 循环 for 没有得到数组的正确位置,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50931044/

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