javascript - 如何使用不同数组中的多个索引返回拼接数组

标签 javascript arrays for-loop splice

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”]

this is the codepen i am working on

最佳答案

首先,它没有执行任何操作,因为 for 循环结束条件应该检查​​循环参数 xans长度相对应数组,即 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/

相关文章:

无法在另一个 char 数组中找到 char 数组的位置

c - 即使数组不为空,数组大小也为零

javascript - 如何监控for循环?

vb.net - 嵌套 For 循环 vb.net

javascript - 解释 Node 回调和单线程

javascript - 未捕获的类型错误 : $ is not a function bold automatic the tabele from javascript

c - 在 if 语句中初始化一个 int 数组并在外部使用

arrays - 即使在触发时,for 循环也不会将 JSON 元素添加到数组中

javascript - Bootstrap 3 词缀导航栏在滚动和重叠内容时变得透明且不可点击

javascript - 是否可以在 Javascript 中使用方法链分配字符串?