Javascriptを使用してキーと値を配列にマッピングする方法はありますか? 私の意見では、これは jQuery.map()
に似ていますが、値のみをマッピングするのではなく、キーも「マッピング」します。
次の配列があるとします。
var names = [ 1, 2, 3, 4, 5 ];
そして、私が作成したという関数を使用して、numberToName()
これから別の配列を生成するのが好きで、結果は次のようになります。
var names = { "one": 1, "two": 2, "three": 3, "four": 4, "five": 5 };
現在、私は次の方法を使用しています。
var names = [ 1, 2, 3, 4, 5 ],
names_tmp = {},
names_i = 0,
names_len = names.length;
for(; names_i < names_len; names_i++) {
names_tmp[numberToName(names[names_i])] = names[names_i];
}
問題は、この方法を改善する方法 (できればネイティブ) はありますか? jQueryも問題なく使えました。おそらくこれに似た機能:
var names = jQuery.mapKeys([ 1, 2, 3, 4, 5], function(k, v) {
return { key: numberToName(v), value: v };
});