在某个字符javascript之后向元素添加元素

时间:2015-07-10 20:15:52

标签: javascript arrays for-loop append

我正在为一个保龄球游戏编写一个程序,并希望在我的数组中每10次添加0。 e.g

arr=[1,2,4,10,9,2,10,1,1];

这就是我想要的:

newarr=[1,2,4,10,0,9,2,10,0,1,1];

我一直在努力:

for (i=0; i<arr.length; i++){
    if (arr[i]=10){
        newarr=arr.splice(i,0,0);
    }
}
console.log(newarr);

2 个答案:

答案 0 :(得分:3)

顺便说一下,您应该使用==进行比较。

&#13;
&#13;
var arr = [1, 2, 4, 10, 9, 2, 10, 1, 1];
var newArr = new Array();

for (i = 0; i < arr.length; i++) {
  newArr.push(arr[i]);
  if (arr[i] == 10) newArr.push(0);
}
alert(newArr);
&#13;
&#13;
&#13;

答案 1 :(得分:3)

您的代码存在一些问题。

  • 您不小心使用=代替==。前者用于作业,后者用于比较。
  • Array.splice修改原始数组,因此不需要新数组。
  • 您应该在0而不是i+1插入i,以便在 10之后而不是之前添加

&#13;
&#13;
arr=[1,2,4,10,9,2,10,1,1];
for (i=0; i<arr.length; i++){
    if (arr[i]==10){
        arr.splice(i+1,0,0);
    }
}
console.log(arr);
&#13;
&#13;
&#13;