2015-07-10 53 views
0

我正在寫一個保齡球遊戲的程序,並且希望在數組中的每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); 

回答

3

順便說一句,你應該使用==進行比較。

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);

3

有你的代碼的幾個問題。

  • 您意外地使用了=而不是==。前者用於分配,後者用於比較。
  • 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);