自定义数组名称

时间:2017-09-02 15:03:44

标签: javascript arrays

我正在尝试创建一个存储数据的数组,然后我想通过向用户调用他们的ID myarray[userId].language来请求数据。

这是我正在使用的代码,但我怎么能这样做,所以myId实际上变成了某个id而不只是一个字符串?

var myId = 62;
var users = [];

users.push({myId:{ //myId should be 62
    language:"Dutch",
    born:1999
}});

JSFiddle

2 个答案:

答案 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));