【发布时间】:2016-09-03 08:09:32
【问题描述】:
所以我有这个系统可以遍历一组用户,如果他们的类型偏好与我的匹配,那么他们就会被推送到一系列潜在匹配中。但是我希望它不能与自己匹配(即具有相同用户 ID 的用户,在本例中为“324”),但我希望将其余匹配推入数组中。
var me = {meUserid: 324, meGenre: 'rock'};
var users = {
user1: {userid: 276, userGenre: 'rock'},
user2: {userid: 335, userGenre: 'jazz'},
user3: {userid: 324, userGenre: 'rock'}, //Same userid and genre
user4: {userid: 603, userGenre: 'rock'},
user5: {userid: 502, userGenre: 'country'},
};
// Users array
var userProfile = [];
// Populate users array
for(var key in users) {
userProfile.push(users[key]);
}
var potentialMatches = [];
for(var i = 0; i < userProfile.length; i++){
// If genre matches that of another user's genre preference, push these compatible users into matches array
if(userProfile[i].userGenre == me.meGenre){
potentialMatches.push(userProfile[i]);
}
}
console.log(potentialMatches);
我知道这将是一个 if 语句,类似于:
if(meUserid == userProfile[i].userid){
//Do something
}
但我不确定如何做 if 语句,有什么想法吗?
结果应该类似于:
potentialMatches = [{user1: {userid: 276, userGenre: 'rock'}}, {user4: {userid: 603, userGenre: 'rock'}}]
谢谢!
【问题讨论】:
标签: javascript loops if-statement push