我有一个数组完成了一些单选按钮的值,比如myArray = ["1","40","35"];
每个价值都有他的同行,例如1 ="男人",2 ="女人",40 ="红发"。
什么是构建另一个数组的最佳方法,其中每个值都是他的对应物?
类似于myBrandNewArray = ["men","red hairs", …];
我应该将我的情侣存储到变量中以进行一些维护,例如
var "1" = "men", "2" = "women", … ;
但我不知道这是不是一个好方法......
PS。甚至指着我一些资源也会很棒。谢谢。
答案 0 :(得分:2)
我会保留一些价值观
hash = { '1': 'Men', '2': 'Women' ... }
然后[ '1', '2', ... ].map( function(v) { return hash[v]; } );
IE9-不会犯这种情况,在这种情况下你可以只迭代for循环
答案 1 :(得分:1)
为什么不将对象用作associative array?
var array = new Object();
array["1"] = "men"
array["40"] = "red hairs"
答案 2 :(得分:1)
您可以创建一个对象:
var arr = {
'1' : 'men',
'2' : 'women'
}
您可以随时轻松访问:arr['1'] == 'men'
如果要从现有数组创建:
说myArray
& myBrandNewArray
var arr = {};
foreach ( var i in myArray ) {
arr[myArray[i]] = myBrandNewArray[i];
}
答案 3 :(得分:0)
我认为这个功能
myArray = ["1","40","35"];
myBrandNewArray = myArray.map(function(element){ /* your code to get the right array 8/ })
来源:http://www.tutorialspoint.com/javascript/array_map.htm
此功能还有一个jQuery(跨浏览器)版本,有关该外观的更多详细信息here jQuery.map(myArray, function(value, index){ /*....*/ })
答案 4 :(得分:0)
使用对象:
var val = {
1: "men",
40: "red hairs"
};
alert(val[1]);
alert(val[2])
答案 5 :(得分:0)
有
var numericalArray = ["1","50","45", …];
和
var couples = { "50" : "homme",
"1" : "femme",
"85" : "court",
…
};
我可以调用它并获得一个带有耦合值的新数组:
function assignValues(numericalArray) {
var verbalArray = [];
for (var i=0; i<numericalArray.length; i++) {
var value = numericalArray[i];
verbalArray.push(couples[value]); // right, I can't check if the values exists
}
console.log('here my new array:', verbalArray);
}
感谢让我指出使用对象。