【问题标题】:Loop through array, set property of each element?遍历数组,设置每个元素的属性?
【发布时间】:2011-12-10 00:06:59
【问题描述】:

好的,很简单:有一个包含 3 个对象的数组。每个对象都有一个名为“ID”的唯一属性,其值为 1、2 或 3。

其中一个对象被删除。

现在的目标是更新每个对象的 ID 属性对应于新的 array.length 值。

例如,ID 为 2 的对象被删除。数组中的其余对象的 ID 值分别为 1 和 3。

所以目标是遍历数组并将 ID 属性更新为 1 和 2(而不是 1 和 3)。

所以我想问题是如何编写一个循环来更新数组中每个元素的公共属性。谢谢。

【问题讨论】:

    标签: actionscript-3


    【解决方案1】:

    您可以使用 for 循环遍历数组,如 walkietokyo 的回答,或者您可以使用方法闭包:

    myArray.forEach ( function ( item:*, i:int, arr:Array) : void { item.ID = i; } );
    

    或者一个while循环:

    var i:int = -1;
    while (++i < myArray.length) myArray[i].ID = i;
    

    【讨论】:

      【解决方案2】:
      for (var i:uint = 1; i <= myArray.length; i++) {
          myArray[i].ID = i;
      }
      

      关于循环的一般信息: http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7fcf.html

      【讨论】:

        【解决方案3】:
        var i:uint; // for speed keep out of the loop
        var arrayLength = myArray.length // for speed keep out of the loop
        
        for (i = 0; i < arrayLength; i++) {
            myArray[i].ID = i;
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-12-02
          • 1970-01-01
          • 2011-10-05
          • 2021-04-12
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多