Javascript 用于isn的循环';得到数组的正确位置,为什么?

Javascript 用于isn的循环';得到数组的正确位置,为什么?,javascript,Javascript,我正在学习JavaScript,遇到了以下情况: 我的代码: alfabetoMadegues = "jngmclqskrzfvbwpxdht" var listaLetras = Array.from(alfabetoMadegues); dicionario_Madegues = {}; for (var i = 0 < listaLetras.length; i++;) { listaLetras.forEach(element => { dic

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

我的代码:

alfabetoMadegues = "jngmclqskrzfvbwpxdht"

var listaLetras = Array.from(alfabetoMadegues);

dicionario_Madegues = {};

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

        dicionario_Madegues[element] = i;
    })
};

ES6 Soluce又名ECMA2015-


作为
数组的第二个参数。forEach
可以得到元素的位置;例如:

const alfabetoMadegues='jngmclqskrzfvbwpxdt';
const listaLetras=数组.from(alfabetoMadegues);
const diciario_Madegues={};
listaLetras.forEach((x,xi)=>{
DICONALIORIO-MADEGUES [X]=席;
});

控制台日志(dicionario_Madegues)ES6 Soluce又名ECMA2015-


作为
数组的第二个参数。forEach
可以得到元素的位置;例如:

const alfabetoMadegues='jngmclqskrzfvbwpxdt';
const listaLetras=数组.from(alfabetoMadegues);
const diciario_Madegues={};
listaLetras.forEach((x,xi)=>{
DICONALIORIO-MADEGUES [X]=席;
});

控制台日志(dicionario_Madegues)
您不希望在
for
中包含
forEach
。对于您描述的输出,您只需删除它,并将其替换为
diciario_Madegues[listaLetras[i]]=i

您的
for
循环中也有一个错误。你有:

for (var i = 0 < listaLetras.length; i++;) {
实例:

var alfabetoMadegues=“jngmclqskrzfvbwpxdt”;
var listaLetras=数组.from(alfabetoMadegues);
var Diciario_Madegues={};
对于(var i=0;i控制台日志(dicionario_Madegues)
您不希望在
for
中包含
forEach
。对于您描述的输出,您只需删除它,并将其替换为
diciario_Madegues[listaLetras[i]]=i

您的
for
循环中也有一个错误。你有:

for (var i = 0 < listaLetras.length; i++;) {
实例:

var alfabetoMadegues=“jngmclqskrzfvbwpxdt”;
var listaLetras=数组.from(alfabetoMadegues);
var Diciario_Madegues={};
对于(var i=0;i控制台日志(dicionario_Madegues)您正在循环两次:

for (var i = 0 < listaLetras.length; i++;) { // HERE
    listaLetras.forEach(element => { //HERE
        dicionario_Madegues[element] = i;
    })
};

您正在循环两次:

for (var i = 0 < listaLetras.length; i++;) { // HERE
    listaLetras.forEach(element => { //HERE
        dicionario_Madegues[element] = i;
    })
};

除了提供的答案之外,你还可以考虑以下方法:

alfabetoMadegues=“jngmclqskrzfvbwpxdt” var obj={} alfabetoMadegues.split(“”).forEach((元素,索引)=>obj[元素]=索引)
控制台.log(OBJ)

除了所提供的答案之外,您还可以考虑以下方法:

alfabetoMadegues=“jngmclqskrzfvbwpxdt” var obj={} alfabetoMadegues.split(“”).forEach((元素,索引)=>obj[元素]=索引)
console.log(obj)
这一行有错误

for (var i = 0 < listaLetras.length; i++;) {
j为2的原因有两个

在循环的第一个过程中,我将设置
i
-该值计算为true

接下来,循环运行比较(以检查是否应该运行循环体)。这里的比较是<代码>i++
!i为真,因此比较通过,然后i递增

i的值true对于增量隐式转换为1

当我们击中循环体时,现在是2


您还使用foreach函数循环了两次—每次迭代i时都将每个值设置为i。

这一行有一个错误

for (var i = 0 < listaLetras.length; i++;) {
j为2的原因有两个

在循环的第一个过程中,我将设置
i
-该值计算为true

接下来,循环运行比较(以检查是否应该运行循环体)。这里的比较是<代码>i++
!i为真,因此比较通过,然后i递增

i的值true对于增量隐式转换为1

当我们击中循环体时,现在是2


您还将使用foreach函数循环两次-每次迭代i时都将每个值设置为i。

您可以将得到的结果包括在内吗?您将通过两个循环运行它,即
for
foreach
。这样做的目的是什么?你应该首先解释你的代码在你的期望中应该做什么,而不是让人们猜测。这对(var i=0
有什么作用?你从
i===true
开始,然后递增它。我基本上想得到数组列表中每个元素的值位置,并设置对象dictionario_madegue的结果。请包括你得到的结果?你要通过两个循环运行它,分别是
for
forEach
。这样做的目的是什么?你应该首先解释你的代码在你的期望中应该做什么,而不是让人们猜测。这对(var i=0
有什么作用?您从
i===true
开始,然后递增i我基本上希望获得数组listaLetras中每个元素的值位置,并设置对象dictionario\u Madegues的结果