2013-06-05 27 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... 
相关问题