【问题标题】:How to Change a Value in a JavaScript Array of Multiple Values如何更改包含多个值的 JavaScript 数组中的值
【发布时间】:2010-01-05 00:25:32
【问题描述】:

我有一个可以使用此代码构建的 JavaScript 数组

var Test = [];
Test.push([3, 2]);
Test.push([5, 7]);
Test.push([8, 1]);
Test.push([4, 10]);

我需要做的是将每个项目中的第一个值从0开始按顺序更改,结果应该如下所示:

[0, 2]
[1, 7]
[2, 1]
[3, 10]

我也会接受一个 jQuery 答案。

【问题讨论】:

    标签: javascript arrays


    【解决方案1】:
    for (var i=0, l=Test.length; i<l; i++){
        Test[i][0] = i;
    }
    

    【讨论】:

      【解决方案2】:
      for (var i=0; i < Test.length; i++) {
          Test[i][0] = i;
      }
      

      【讨论】:

        【解决方案3】:

        如果你想要一个 jquery-ic 答案:

          $(Test).each(function(i) {
                this[0] = i;
            });
        

        我喜欢这种方法的一点是 each 方法为每个循环迭代创建了一个单独的函数范围。尽管在本例中没有必要,但它可以帮助减少因意外变量绑定而引起的麻烦。

        不正确 - 虽然有效

         $(Test).each(function(i) {
                this[0] = i++;
            });
        

        【讨论】:

        • mm,i 不应该在某处初始化为0 吗?
        • 其实,没有。我不小心把 ++ 留在了 i 上。每个回调的第一个参数是索引(在数组的情况下,或者在对象的情况下的键)。不过,感谢您接听这个。
        • 很好,不知道each 是这样工作的。谢谢解释
        猜你喜欢
        • 2020-03-27
        • 1970-01-01
        • 2012-01-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-30
        • 1970-01-01
        • 2021-09-10
        相关资源
        最近更新 更多