0

我想变身

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;}

但我觉得我应该能够用地图来做到这一点。我可以用地图以某种方式传递索引吗?

4

1 回答 1

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()处理程序将获取项目索引作为第二个参数

myArr.map(function (val, idx) {
    console.log(val, idx)
})

演示:小提琴

于 2013-11-09T06:37:15.553 回答