2017-02-14 50 views
0

我有一個國家列表下面是一個對象。正確的方式存儲對象列表

enter image description here

我也有一個市場名單:

enter image description here

我想它,以便在法國內部對象有另一組對象的其中列出了所有的部門。我嘗試將列表保存爲Country.list [country] [sector] = self;但無濟於事。我將如何克服這一點?代碼:

enter image description here

有效,我想創建一個多維JS對象,它進入一個特定的國家,然後進入該國的部門。

+1

您可以添加您使用的代碼(請參閱[mcve]),預期結果以及當前代碼發生了什麼? – evolutionxbox

+0

你可以在這裏分享清單的代碼嗎? –

+0

嗨。您應該複製/粘貼並將其格式化爲代碼,而不是使用屏幕截圖來顯示您的代碼。它可以更容易地重現您的問題並幫助人們回答您的問題。如上所示,一個最小,完整和可驗證的例子可以幫助更多 –

回答

0

你問什麼不清楚..

如果需要從Market與法國的所有部門並將它們添加到列表Country ..然後你可以試試這個。

var sectors = []; 

    $.each(Market.list, function(key, value){ 
    if(value.country == "France"){ 
     sectors.push(value.sector); 
     } 
    }); 

這將增加在sectors陣列與France所有部門。現在,我們將此數組賦值給主Country.list

Country.list[France].allSectors = sectors ; 
+0

對不起,我應該更清楚一點。實際上,我想要創建一個多維JS對象,然後進入特定的國家,然後進入該國的部門。 – epayne

1

你可能想給字符串(不變量)作爲行業

Country.list[country]['sector'] = self; // notice, it is string 
+0

沒有得到「無法設置屬性'部門'的未定義」 – epayne

+0

'Country.list [country] .sector = self;' –

+0

我得到的同樣的問題 – epayne

0

你的所有屬性都在同一平面物體當前設置的關鍵。正如你的意思,你必須嵌套它們。

Country中,如果不存在,則必須創建一個新對象並將其分配給Country.list中的相應屬性。這個對象將得到同樣的待遇。

下面的代碼(在Country)肯定會有比我:-)

if(!Country.list[country])Country.list[country]={}; 
Country.list[country][sector]=self; 

注意,country屬性應在列表中設置父對象窮人更清楚地解釋:

if(!Country.list[country]){ 
    Country.list[country]={'country' : country}; 
} 
Country.list[country][sector]=self; 
相關問題