我想存储一系列信息,每个信息包含一部分信息。所以我想要这样的东西:
var users = [{userID:1, userName:robert}, {userID:2, userName:daniel}]
然后检索变量:
users.userID // 1, 2
users.userName // robert, daniel
或者其他什么,我希望能够获得与userID相关的信息。
答案 0 :(得分:1)
根据您的问题,我会考虑沿着以下
的行重做数组var users = { 'id1' : { 'userName' :'robert'},
'id2': { 'userName ': 'daniel'}};
alert(users.id1.userName);
alert( eval('users.id' + 1 + '.userName'));
答案 1 :(得分:0)
这可能会有所帮助:
var desiredUserID = 2;
var userList = [ {userID: 1, userName: "robert"}, {userID:2, userName:"daniel"} ];
for(x=0;x<=userList.length;x++) {
if(userList[x].userID == desiredUserID){
alert(userList[x].userName);
}
}
答案 2 :(得分:0)
这会生成一组用户ID:
[{userID:1, userName:robert},
{userID:2, userName:daniel}].map(function (x) { return x.userID; });
答案 3 :(得分:0)
是的,你可以通过各种方式做到这一点。假设你有:
var users = [{userID: 1, userName: robert}, {userID: 2, userName: daniel}];
要检索Robert的userID
和userName
,您可以通过users[0].userID
和users[0].userName
访问它们。
如果您希望通过users.userID[0]
和users.userName[0]
检索它们,则需要以这种方式存储它们:
var users = {userID: [1, 2], userName: [robert, daniel]};
如果您问如何将第一个表单转换为第二个表单,请使用:
function transform(source) {
var result = {};
for (var i = 0; i < source.length; i++) {
for (property in source[i]) {
if (typeof result[property] == "undefined")
result[property] = [];
result[property].push(source[i][property]);
}
}
}
并以这种方式使用它:
var transformed_users = transform(users);
请注意,此转换功能特定于您的数据结构。
答案 4 :(得分:0)
这是一种方法
var array1 = new Array(1,2,3,4);
var array2 = new Array(8,9,10,11,12,13);
var array3 = new Array( array1, array2);
console.log(array1);
console.log(array2);
console.log(array3);
会给你正确的结果