Javascript 我想给每个数组元素一个数字
我有这段代码,问题是它列出了单个数组元素的数字,而不是整个数组 我尝试了其他方法,包括.map,但失败了 让名字='比尔博,甘道夫,纳兹古尔,鲍勃,格里姆,拉尼亚凯亚,德泽维德,莱文,乔治,什么'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>
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>` );
}