在特定字符后添加到数组中的元素javascript
问题描述:
我正在写一个保龄球游戏的程序,并且希望在数组中的每10个之后添加0。 e.g在特定字符后添加到数组中的元素javascript
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);
答
顺便说一句,你应该使用==
进行比较。
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);
答
有你的代码的几个问题。
- 您意外地使用了
=
而不是==
。前者用于分配,后者用于比较。 -
Array.splice
修改原始数组,因此不需要新数组。 - 你应该
i+1
而不是i
位置插入0
后的10
,而不是之前添加它。
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);