使用javascript迭代值列表

时间:2013-02-08 16:27:55

标签: javascript

我希望使用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

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

3 个答案:

答案 0 :(得分:11)

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。

答案 1 :(得分:3)

已经 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

答案 2 :(得分: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);
}

此函数允许您在所需的上下文中运行它(典型方案是 window 上下文)并传递一些参数。希望这会有所帮助;)