2013-06-05 60 views
0

我有兩個JavaScript對象匹配兩個陣列或對象以JavaScript

var category = new Object(); 

我添加一些屬性的對象作爲

category.Hot = "Red"; 
category.Cold = "Blue"; 
category.Warm = "Yellow"; 

我有保持所述ID,類別值和一些另一個目的其他屬性

var categorization = []; 

categorization = {"id1 : Hot","id2 : Cold","id3 : Hot","id4 : Warm"}, 

現在我需要在分類中的所有項目與他們的appropria地圖在類別中的顏色。我需要這樣的東西。

var combinedResult = null; 

combinedResult.id1 = {'Hot : Red'} 
combinedResult.id2 = {'Cold : Blue'} 
combinedResult.id3 = {'Hot : Red'} 
combinedResult.id4 = {'Warm : Yellow'} 

我是JavaScript新手,所以可能會出現語法錯誤。我已經在C#中實現了相同的任何提示將不勝感激。

+0

嘗試使用JavaScript關聯數組 – Rinku

+1

有一些古怪'分類= []'和'分類= {/ * ... * /}'。第一個是數組,後者是一個對象。你真的想使用一個對象(像你一樣)或一個數組(如'categorization = [「Hot」,「Cold」,「Hot」,「Warm」]'?另外,如果結果是一個對象(' combinedResult = {}')還是數組? – Zeta

+2

您是否在問如何構造數據或如何實現某種特定結構?另外,您的對象表示法是錯誤的:您需要提供一個鍵和一個值:combinedResult.id1 = {'Hot':'Red'} –

回答

4

你可以這樣來做:

$.each(categorization,function(id, val){ 
    var tempObj = {}; 
    tempObj[val] = category[val]; 

    combinedResult[id] = tempObj; 
}); 

這裏的樣品Fiddle

0

對於你來說,下面的東西不是一件容易的事嗎?

var categorization = []; 

categorization.push({"Id" : "Hot","colour":"Red"}); 
categorization.push({"Id" : "Cold","colour":"Blue"}); 
categorization.push({"Id" : "Warm","colour":"Yellow"}); 

然後

categorization[0].Id, categorization[0].colour etc... 
相關問題