Also ich habe dieses System, das durch eine Gruppe von Benutzern iteriert und wenn ihre Genre-Präferenz zu meinen dann in eine Reihe von möglichen Übereinstimmungen geschoben werden. Aber ich will es so, dass ich nicht mit mir selbst übereinstimmen kann (d. H. Der Benutzer mit der gleichen Benutzer-ID, in diesem Fall '324'), aber ich möchte, dass der Rest der Matches in das Array geschoben wird.JavaScript - verhindern, dass bestimmte Elemente in ein Array gedrückt werden, wenn die Bedingung erfüllt ist
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);
Ich weiß, es wird entlang der Linien von einer if-Anweisung etwas sein:
if(meUserid == userProfile[i].userid){
//Do something
}
aber bin nicht sicher, was die if-Anweisung, irgendwelche Ideen zu machen?
Das Ergebnis sollte in etwa so aussehen:
potentialMatches = [{user1: {userid: 276, userGenre: 'rock'}}, {user4: {userid: 603, userGenre: 'rock'}}]
Dank!