在javascript中使用关联数组

时间:2016-10-21 11:07:18

标签: javascript arrays

我想创建类似字典对象的东西,其中名称为键,它应输出其值。

例如

dict["jerry"] should output 20 as value.

或者

var name = "jerry";
dict[name]  should output 20 as value

我的代码。

var totalAdditions = [];
totalAdditions.push({name:statsObj.author.login, value: additions});
//statsObj.author.login contains "jerry"

console.log(obj.login); //also contains value "jerry"
console.log(totalAdditions[obj.login]); //returns undefined??

1 个答案:

答案 0 :(得分:5)

JavaScript没有“关联数组”。它确实有对象,它可以做你想要的,Map(从ES2015开始),它也可以做你想要的。

对象:

var dict = Object.create(null); // Not {} so it doesn't inherit props like
                                // "toString", "valueOf", etc.
var name = "jerry";
dict["jerry"] = 20;
console.log(dict[name]); // 20

ES2015 + Map

let dict = new Map();
var name = "jerry";
dict.set("jerry", 20);
console.log(dict.get(name)); // 20