2013-02-08 65 views
3

我正在尋找使用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 

我的目標名單是各行傳遞給基於標籤不同的功能。我試圖弄清楚多維數組是否是最好的方法。

回答

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。

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); 
} 

此功能允許您在上下文中運行它,你想要的(典型的情形是窗口上下文)和傳遞一些參數。希望這有助於;)