簡體   English   中英

因此,我試圖使用for循環從數組中獲取一組項目並將其顯示到上下文菜單子菜單中,但是以某種方式,我無法

[英]So I am trying to get a set of items from an array using a for loop and displaying them into a context menu sub menu, but somehow I am not able to

因此,我試圖從數組中獲取客戶端列表,然后將其一個一個地顯示在上下文菜單子菜單中。 但是,我對如何做到這一點感到困惑。 任何幫助將非常感激。

因此,下面是我已經嘗試過的代碼,但是我總是像這樣從列表中獲取最后一個項目,而我想從列表中獲取另一個項目。

action: function () {
    var itemDisp = [];  
    var client;
    var arrayLength = clients_array.length;
    for (var i = 0; i < arrayLength; i++) {
        client = clients_array[i].toString().split(',');
        displayClient.push(client[0] + ' - ' + client[1]);
        clientDisp = client[0] + ' - ' + client[1];
        itemDisp = { label: displayClient[i]};   
    }
} 
return { 
    "AddClient" : {
        label: "Add Client",                        
        "submenu": { 
            itemDisp
        }
    }
}

現在,我要使用上面的代碼從數組中獲取最后一個項目,而我想獲取數組中找到的所有項目。

看起來您需要一個數組。 但是,在代碼中,您正在用對象覆蓋數組。 這也許可以解釋為什么只看到最后一個對象。

而是嘗試以下方法:

function () {
    var itemDisp = [];  
    var client;
    var arrayLength = clients_array.length;
    for (var i = 0; i < arrayLength; i++) {
        client = clients_array[i].toString().split(',');
        displayClient.push(client[0] + ' - ' + client[1]);
        clientDisp = client[0] + ' - ' + client[1];

        // Important part here!
        itemDisp.push({ label: displayClient[i]});
    }
} 
return { 
    "AddClient" : {
        label: "Add Client",   
        // Also changed. We just pass the array.                     
        "submenu": itemDisp
    }
}

通過使用數組push方法,我們將對象添加到itemDisp數組的末尾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM