gpt4 book ai didi

JavaScript - 将 for 循环中的多个结果推送到数组中

转载 作者:行者123 更新时间:2023-11-28 18:36:11 25 4
gpt4 key购买 nike

我创建了一个基本系统来输出与指定用户具有相同类型兴趣的用户。我想将 for 循环的结果推送到数组中,但是我只能将最后一个 for 循环输出推送到数组中,但我希望所有结果都被“推送”。有什么建议吗?

// User database
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'};

//userProfile.push()

// User database array
var userProfile = [jon, lucy, mike, luke, james, dave, sarah, natalie];


// Object containing username of logged in user and specification of the loaded track's genre
var trackGenre = {username: 'Harry', trackGenre: 'Rock'};

// For loop listing usernames of users with genre preference the same as the distributed track
for(i = 0; i < userProfile.length; i++){

if(userProfile[i].genrePref == trackGenre.trackGenre){

console.log(userProfile[i].username);

var matchs = [];

matchs.push(userProfile[i].username);

}
}

console.log(matchs)

最佳答案

将 var 的声明移到更高的位置 - 每次都会恢复它,从而将其清除:

var trackGenre = {username: 'Harry', trackGenre: 'Rock'};

var matchs = [];

// For loop listing usernames of users with genre preference the same as the distributed track
for(i = 0; i < userProfile.length; i++){

if(userProfile[i].genrePref == trackGenre.trackGenre){

console.log(userProfile[i].username);

matchs.push(userProfile[i].username);

}
}

关于JavaScript - 将 for 循环中的多个结果推送到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37039189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com