Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我想给每个数组元素一个数字_Javascript_Arrays - Fatal编程技术网

Javascript 我想给每个数组元素一个数字

Javascript 我想给每个数组元素一个数字,javascript,arrays,Javascript,Arrays,我有这段代码,问题是它列出了单个数组元素的数字,而不是整个数组 我尝试了其他方法,包括.map,但失败了 让名字='比尔博,甘道夫,纳兹古尔,鲍勃,格里姆,拉尼亚凯亚,德泽维德,莱文,乔治,什么' let arr = names.split(', '); for (let name of arr) { for(let i =1; i < arr.length; i++) document.write( i + ` A message to ${name}.` + `<br>

我有这段代码,问题是它列出了单个数组元素的数字,而不是整个数组

我尝试了其他方法,包括.map,但失败了

让名字='比尔博,甘道夫,纳兹古尔,鲍勃,格里姆,拉尼亚凯亚,德泽维德,莱文,乔治,什么'

let arr = names.split(', ');

for (let name of arr) {
for(let i =1; i < arr.length; i++)
  document.write( i + ` A message to ${name}.` + `<br>` ); // A message to Bilbo  (and other names)

}
我希望它以以下方式工作:

    1 A message to Bilbo
    2 A message to Gandalf
    3 A message to Nazgul
    4 A message to Bob
    5 A message to Grim
    6 A message to Laniakea
    7 A message to Dzevid
    8 A message to Levan
    9 A message to George
    10 A message to what

为什么要使用第二个循环? 只需像这样设置一个计数器

let names = 'Bilbo, Gandalf, Nazgul, Bob, Grim, Laniakea, Dzevid, Levan, George, What';

let arr = names.split(', ');
let count = 1;
for (let name of arr) {
 document.write( count + ` A message to ${name}.` + `<br>` );
 count++;
}
let names='Bilbo,Gandalf,Nazgul,Bob,Grim,Laniakea,Dzevid,Levan,George,What';
设arr=names.split(',');
让计数=1;
for(让arr的名称){
write(count+`向${name}发送消息,`+`
`); 计数++; }

(i=1;i document.write(i+`A message to${name}.`+`
`); }
不确定您想要实现什么目标。但是这里有一些代码可以帮助你

let names = 'Bilbo, Gandalf, Nazgul, Bob, Grim, Laniakea, Dzevid, Levan, George, What';\
names = names.split(',');

names.forEach((name, index) => {
    document.write(`${index} A message to ${name.trim()}`);
})
在本例中,我们首先将长字符串转换为名称数组。
然后使用simple
forEach
处理每个名称。请注意,我使用
name.trim()
删除拆分后留下的不必要空格。

您可以使用映射进行循环,并且不需要第二个循环,因为
arr
是一维数组

let names='Bilbo,Gandalf,Nazgul,Bob,Grim,Laniakea,Dzevid,Levan,George,What';
设arr=names.split(',');
arr.map((d,i)=>{
document.write(i+1+`A message to${d}.`+`
`);//A message to Bilbo(和其他名称)
})
实际上,没有必要为(让arr的名称){……}添加
。你可以去掉那条线。除此之外,您还需要从
i=0
开始for循环,因为数组从
索引0
开始

let names = 'Bilbo, Gandalf, Nazgul, Bob, Grim, Laniakea, Dzevid, Levan, George, What';
let arr = names.split(', '); 

for(let i = 0; i < arr.length; i++){
  document.write( `${i+1}`  + ` A message to ${arr[i]}.` + `<br>` );
}
let names='Bilbo,Gandalf,Nazgul,Bob,Grim,Laniakea,Dzevid,Levan,George,What';
设arr=names.split(',');
for(设i=0;i`);
}

您不需要使用2个for循环,只需1个即可。您的代码在我的特定项目中运行良好,谢谢:)@laniakea如果您觉得此用户已回答了您的问题,您可以通过选择问题旁边的灰色勾号将其标记为正确答案。这也有助于其他有类似问题的人找到正确答案,从而帮助他们解决问题。
let names = 'Bilbo, Gandalf, Nazgul, Bob, Grim, Laniakea, Dzevid, Levan, George, What';\
names = names.split(',');

names.forEach((name, index) => {
    document.write(`${index} A message to ${name.trim()}`);
})
let names = 'Bilbo, Gandalf, Nazgul, Bob, Grim, Laniakea, Dzevid, Levan, George, What';
let arr = names.split(', '); 

for(let i = 0; i < arr.length; i++){
  document.write( `${i+1}`  + ` A message to ${arr[i]}.` + `<br>` );
}