【发布时间】:2013-07-31 21:08:37
【问题描述】:
有没有什么方法可以使用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 };
});
【问题讨论】:
标签: javascript jquery arrays map