Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript-在数组中存储多个对象,并通过_Javascript_Arrays_Object_Push - Fatal编程技术网

JavaScript-在数组中存储多个对象,并通过

JavaScript-在数组中存储多个对象,并通过,javascript,arrays,object,push,Javascript,Arrays,Object,Push,所以这里我有一个用户对象数据库,我想把每个对象都推到“allUsers”数组中。然后,我希望能够循环此数组并访问属性,例如allUsers[I].genrePref。如何将所有这些变量推入数组以存储它们,如[user,jon,lucy,mike,luke… // Users var user = {username: user9110252username, genrePref: user9110252genre}; var jon = {username: 'Jon',

所以这里我有一个用户对象数据库,我想把每个对象都推到“allUsers”数组中。然后,我希望能够循环此数组并访问属性,例如
allUsers[I].genrePref
。如何将所有这些变量推入数组以存储它们,如
[user,jon,lucy,mike,luke…

    // Users
    var user = {username: user9110252username, genrePref: user9110252genre};
    var jon = {username: 'Jon', genrePref: 'rock'};
    var lucy = {username: 'Lucy', genrePref: 'pop'};
    var mike = {username: 'Mike', genrePref: 'rock'};
    var luke = {username: 'Luke', genrePref: 'house'};
    var james = {username: 'James', genrePref: 'house'};
    var dave = {username: 'Dave', genrePref: 'bass'};
    var sarah = {username: 'Sarah', genrePref: 'country'};
    var natalie = {username: 'Natalie', genrePref: 'bass'};


    // Users array
    var allUsers = [];

只需使用
.push
将它们按如下方式推入即可:

var allUsers = [];

allUsers.push(allUsers, user, jon, lucy, mike, luke, james, dave, sarah, natalie);
只需将变量添加到数组中,除了完全按照示例中的操作,即手动将每个变量添加到数组中,实际上没有其他方法

// Users array
var allUsers = [
    user,
    jon,
    lucy,
    mike,
    luke,
    james,
    dave,
    sarah,
    natalie
];
但是,您可能可以做一些更健壮的事情,最简单的形式是定义一个名为
users
的对象文本,它包含每个用户对象。这样,您不仅可以在用户周围使用伪名称空间,还可以轻松地迭代对象文本,并将每个用户放入一个数组中:

// Users
var users = {
    user : {username: user9110252username, genrePref: user9110252genre},
    jon : {username: 'Jon', genrePref: 'rock'},
    lucy : {username: 'Lucy', genrePref: 'pop'},
    mike : {username: 'Mike', genrePref: 'rock'},
    luke : {username: 'Luke', genrePref: 'house'},
    james : {username: 'James', genrePref: 'house'},
    dave : {username: 'Dave', genrePref: 'bass'},
    sarah : {username: 'Sarah', genrePref: 'country'},
    natalie : {username: 'Natalie', genrePref: 'bass'}
}

// Users array
var allUsers = [];

// Populate users array
for(var key in users) {
    allUsers.push(users[key]);
}
<> P>样式上的最后一个注释。您应该避免将用户代码中的每个用户对象的“密钥”显式设置为用户的名称文字。如果有任何同名的用户,该模型将被打破。相反,考虑生成一种唯一的密钥,如GUID或每个用户的其他唯一值。例如,如果您从某个数据库填充此
users
对象,并且两个或多个用户恰好具有相同的名称,则您永远不会意外地覆盖
users
对象中的条目

祝你好运。

var arr=[{username:'Jon',genrePref:'rock'},{username:'Lucy',genrePref:'pop'},{username:'Mike',genrePref:'rock'},{username:'James',genrePref:'house'},{username:'Dave',genrePref:'bass'},{username:'Sarah',genrePref country'},{username:'Natalie',genrePref bass'};
var text=“usernamegenerepref”

对于(var i=0;iI)来说,我的问题可能应该用更好的措辞,但您刚才给我的正是我想要做的!谢谢!没问题。别忘了标记为正确。祝您好运!