我正在尝试创建一个存储数据的数组,然后我想通过向用户调用他们的ID myarray[userId].language
来请求数据。
这是我正在使用的代码,但我怎么能这样做,所以myId实际上变成了某个id而不只是一个字符串?
var myId = 62;
var users = [];
users.push({myId:{ //myId should be 62
language:"Dutch",
born:1999
}});
答案 0 :(得分:0)
您可以使用对象而不是数组,并将id作为对象的键。
var myId = 62,
users = {};
users[myId] = {
language: "Dutch",
born: 1999
};
console.log(users);
console.log(users[myId].language);
答案 1 :(得分:0)
现在可以使用方括号计算对象文字属性名称中的表达式。
var myId = 62;
var users = [];
users.push({
[myId]: { //myId is 62
language: "Dutch",
born: 1999
}
});
console.log(JSON.stringify(users, null, 2));

如果您需要支持旧版引擎,请使用转发器。
当然,您也可以在没有.push()
的情况下执行此操作。
var myId = 62;
var users = [{
[myId]: { //myId is 62
language: "Dutch",
born: 1999
}
}];
console.log(JSON.stringify(users, null, 2));