0

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

每个值都有对应的值,例如 1 = "men"、2 = "women"、40 = "red hairs"。

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

所以类似的东西myBrandNewArray = ["men","red hairs", …];

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

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

但我不知道这是不是一个好方法……</p>

附言。即使向我指出一些资源也会很棒。谢谢你。

4

6 回答 6

2

我会保留一个哈希值 hash = { '1': 'Men', '2': 'Women' ... }

然后[ '1', '2', ... ].map( function(v) { return hash[v]; } );

IE9- 不会接受这个,在这种情况下你可以在 for 循环中迭代

于 2012-09-06T10:28:30.037 回答
1

为什么不使用对象作为关联数组

var array = new Object();
array["1"] = "men"
array["40"] = "red hairs"
于 2012-09-06T10:27:55.327 回答
1

您可以创建一个对象,如:

var arr = { '1' : 'men', '2' : 'women' }

您可以随时轻松访问它,例如:arr['1'] == 'men'

如果要从现有数组创建:

myArray&myBrandNewArray

你可以做类似的事情

var arr = {};
foreach ( var i in myArray ) {
  arr[myArray[i]] = myBrandNewArray[i];
}
于 2012-09-06T10:37:42.253 回答
0

使用一个对象:

var val = {
    1: "men",
    40: "red hairs"   
};

alert(val[1]);
alert(val[2])

;

于 2012-09-06T10:32:03.437 回答
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(跨浏览器)版本,有关该功能的更多详细信息,请参见此处 jQuery.map(myArray, function(value, index){ /*....*/ })

于 2012-09-06T10:28:42.953 回答
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);


}

感谢我指出对象的使用。

于 2012-09-06T15:10:12.660 回答