dft=["t", "h", "i", "s", "I", "s", "S", "p", "i", "n", "a", "l", "T", "a", "p"];
ans=[4, 6, 12, -1];
for(x=0;x<ans-1;x++){
dft.splice(ans[x],0,"-");}
return dft;
我试图使用 ans 数组中除 -1 索引之外的索引返回一个将“-”放入 dft 数组的数组。
我得到的结果是[“t”,“h”,“i”,“s”,“I”,“s”,“S”,“p”,“i”,“n”,“a ”、“l”、“T”、“a”、“p”]
最佳答案
首先,它没有执行任何操作,因为 for 循环结束条件应该检查循环参数 x
与 ans
的长度相对应数组,即 x < ans.length -1
。其次,从splice
开始正在更改数组,您的 ans
插入第一个连字符后索引将不正确,因此您应该按相反的顺序执行操作,如下所示:
dft = ["t", "h", "i", "s", "I", "s", "S", "p", "i", "n", "a", "l", "T", "a", "p"];
ans = [4, 6, 12, -1];
for (x = ans.length - 2; x >= 0; x--) {
dft.splice(ans[x], 0, "-");
}
console.log(dft);
我们从数组的末尾开始,即 ans.length - 1
,除非您想跳过最后一个元素,所以我们从 ans.length - 2
开始。请记住,这假设应忽略最后一个元素。
关于javascript - 如何使用不同数组中的多个索引返回拼接数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45121738/