1

我有一个列表 - [getFamilyPkg, getActivePkg, getEligiblePkg, getActivePkgForDeactivation],想在 javascript 函数中获取此列表中的每个元素。
怎么做?提前致谢。

4

2 回答 2

4

假设列表存储在一个名为arr.

for (var i = 0; i < arr.length; i++) {
  var elem = arr[i];
  // elem is either getFamilyPkg, or getActivePkg, or ...
}
于 2012-12-20T07:14:02.627 回答
1

汤米的回答实际上是不正确的。for (var i in arr)循环遍历对象原型的所有属性/属性arr,其中包括内置函数等slice()。请参见此处的 jsfiddle 示例:http: //jsfiddle.net/sEtMw/(检查控制台,您将看到除了数组元素。

有几种方法(再次假设数组名为arr):

var elem;
for (var i = 0, len = arr.length; i < len; i++) {
    elem = arr[i];
    // elem is actually one of the array elements here
}

另一种选择如下:

var elem;
while (elem = arr.shift()) {
    // elem is one of the array elements
}

请注意,第二种方法不能保持数组完整。即在循环结束时,数组将为空。但是,如果您对此感到满意,那么语法肯定会更干净。这两种方法都在这里说明:http: //jsfiddle.net/z7zKK/。最后记录变量arr以说明它是空的。

于 2012-12-20T07:26:19.093 回答