【问题标题】:Adding to elements to an array after a certain character javascript在某个字符javascript之后将元素添加到数组中
【发布时间】:2015-09-29 17:18:18
【问题描述】:

我正在为保龄球游戏编写程序,并希望在数组中的每 10 之后添加 0。例如

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

【问题讨论】:

    标签: javascript arrays for-loop append


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您的代码存在一些问题。

      • 您不小心使用了= 而不是==。前者用于赋值,后者用于比较。
      • Array.splice 修改了原来的数组,所以不需要新的数组了。
      • 您应该将0 插入位置i+1 而不是i 以将其添加到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);

      【讨论】:

        猜你喜欢
        • 2014-09-21
        • 1970-01-01
        • 1970-01-01
        • 2020-06-06
        • 2020-01-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多