javascript:将相同的键映射到不同的值

时间:2013-04-16 06:20:38

标签: javascript

我有这个数据集

 'Rain':    'severe thunderstorms',
 'Rain':    'thunderstorms',
 'Rain':    'mixed rain and snow',
 'Rain':    'mixed rain and sleet',

我想存储这种关系,尝试制作字典

var dict = {
 'Rain':    'severe thunderstorms',
     'Rain':    'thunderstorms',
     'Rain':    'mixed rain and snow',
     'Rain':    'mixed rain and sleet',
}

但是当我遍历这个词典时,它只给出了一个元素

for(item in dict){

        Ti.API.info(item+"...."+ dict[item]))
        }

输出雨:混合雨和雨夹雪

然后我意识到密钥必须是唯一的,所以这个字典结构不起作用。

是否有任何我可以存储此内容并且可以访问具有相同密钥的所有映射

3 个答案:

答案 0 :(得分:4)

var dict = {};
dict["rain"] = ['severe thunderstorms', 'mixed rain and snow', 'mixed rain and sleet'];

for(var propName in dict) {
    var propValue = dict[propName];
}

答案 1 :(得分:3)

您可以使用数组将多个值分配给一个属性名称:

var dict = {
 'Rain': ['severe thunderstorms', 'thunderstorms', 
          'mixed rain and snow', 'mixed rain and sleet']
};

答案 2 :(得分:0)

var a=[];
a[0]=1;
a[1]=22;

var b=[];
b[0]=111;
b[1]=222;

var dict = {};
dict['AA']=a;
dict['BB']=b;

//获取特定键值

for(var i=0;i < dict['AA'];i++)
  print (dict['AA'][i]);

//获取字典中的所有值

Object.keys(dict).forEach(function(key) {
     print(dict[key]);

});