0

いくつかのラジオボタンからの値で配列を作成しました。myArray = ["1","40","35"];

すべての値には対応する値があります。たとえば、1 =「男性」、2 =「女性」、40=「赤い髪」です。

すべての値が対応する値を取得する別の配列を作成するための最良の方法は何ですか?

だからそのようなものmyBrandNewArray = ["men","red hairs", …];

いくつかのメンテナンスのために、カップルを変数に保存する必要があります。

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

しかし、これが良いアプローチかどうかはわかりません…</ p>

ps。いくつかのリソースを私に指摘することさえ素晴らしいでしょう。ありがとうございました。

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'

既存のアレイから作成する場合:

言うmyArraymyBrandNewArray

あなたは次のようなことをすることができます

var arr = {};
foreach ( var i in myArray ) {
  arr[myArray[i]] = myBrandNewArray[i];
}
于 2012-09-06T10:37:42.253 に答える
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 val = {
    1: "men",
    40: "red hairs"   
};

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

;

于 2012-09-06T10:32:03.437 に答える
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 に答える