Итак, у меня есть эта система, которая выполняет итерацию через группу пользователей, и если их предпочтения в жанре совпадают с моими, тогда они попадают в массив потенциальных совпадений. Однако я хочу, чтобы я не мог сопоставляться с самим собой (т. Е. Пользователь с тем же идентификатором пользователя, в данном случае «324»), но я хочу, чтобы остальные совпадения были перенесены в массив.JavaScript - предотвращение нажатия определенного элемента в массив, если условие истинно.
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(meUserid == userProfile[i].userid){
//Do something
}
, но не уверен, что сделать, если заявление, какие идеи?
Результат должен выглядеть примерно так:
potentialMatches = [{user1: {userid: 276, userGenre: 'rock'}}, {user4: {userid: 603, userGenre: 'rock'}}]
Спасибо!