我想转型
myArr = ["Abel","Bella","Corey"]
到
myIndex = {"Abel": 1, "Bella":2, "Corey":3}
(我知道我可以做.indexOf
,但我想做一个有效的查找词典)
天真我会这样做:
myIndex = {}
for(var i = 0; i < myArr.length; i++){myIndex[myArr[i]] = i;}
但我觉得我应该可以用地图来做。我可以用地图以某种方式传递索引吗?
答案 0 :(得分:1)
我认为Array.map()不适合这里因为map返回一个数组,你可以使用Array.forEach()
var myArr = ["Abel", "Bella", "Corey"];
var obj = {};
myArr.forEach(function (val, idx) {
obj[val] = idx;
})
console.log(obj)
.map()
处理程序将把项目indx作为第二个参数
myArr.map(function (val, idx) {
console.log(val, idx)
})
演示:Fiddle