9

我正在寻找使用 javascript 迭代值列表。

我有一个这样的清单

Label: A    Value:  Test    Count: 4
Label: B    Value:  Test2   Count: 2
Label: C    Value:  Test3   Count: 4
Label: D    Value:  Test4   Count: 1
Label: C    Value:  Test5   Count: 1

我的目标是根据标签将每一行传递给不同的函数。我想弄清楚多维数组是否是最好的方法。

4

3 回答 3

17
var list = [
   {"Label": "A", "value": "Test", "Count": 4},
   {"Label": "B", "value": "Test2", "Count": 2},
   {"Label": "C", "value": "Test3", "Count": 4},
   {"Label": "D", "value": "Test4", "Count": 1},
   {"Label": "C", "value": "Test5", "Count": 1}
]

for(var i = 0, size = list.length; i < size ; i++){
   var item = list[i];
   if(matchesLabel(item)){
      someFunction(item);
   } 
}

您可以定义matchesLabel函数,如果需要将项目传递给您的函数,它应该返回 true。

于 2013-02-08T16:31:10.150 回答
7

好吧,已经 8 年了,但今天你可以使用for ... of

const array1 = ['a', 'b', 'c'];

for (const element of array1) {
  console.log(element);
}

来源:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of

于 2021-01-18T18:09:39.563 回答
2

如果你想让它更专业,你可以使用这个功能

function exec(functionName, context, args )
{
    var namespaces = functionName.split(".");
    var func = namespaces.pop();

    for(var i = 0; i < namespaces.length; i++) {
        context = context[namespaces[i]];
    }

    return context[func].apply(this, args);
}

这个函数允许你在你想要的上下文中运行它(典型的场景是窗口上下文)并传递一些参数。希望这可以帮助 ;)

于 2013-02-08T16:44:20.467 回答