我希望使用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
我的目标是根据标签将每一行传递给不同的函数。我想弄清楚多维数组是否是最好的方法。
答案 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 上下文)并传递一些参数。希望这会有所帮助;)