如何检查和替换数组中的值?

时间:2012-09-06 10:24:05

标签: javascript arrays

我有一个数组完成了一些单选按钮的值,比如myArray = ["1","40","35"];

每个价值都有他的同行,例如1 ="男人",2 ="女人",40 ="红发"。

什么是构建另一个数组的最佳方法,其中每个值都是他的对应物?

类似于myBrandNewArray = ["men","red hairs", …];

我应该将我的情侣存储到变量中以进行一些维护,例如

var "1" = "men", "2" = "women", … ; 

但我不知道这是不是一个好方法......

PS。甚至指着我一些资源也会很棒。谢谢。

6 个答案:

答案 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);


}

感谢让我指出使用对象。