0
votes

Filtre JavaScript Un tableau d'objets par une propriété d'objet

J'ai un tableau de UserList code> qui incluent des informations de base de l'utilisateur.

const vips_return = userList.filter((user)=>
    vips.includes(user.name)
)


0 commentaires

3 Réponses :


2
votes

Vous pouvez utiliser Trouver code> ou FINDIDEX CODE> :

const vipNames = new Set(vips.map(vip => vip.username));

userList.filter(user => vipNames.has(user.name));


3 commentaires

Je pense que votre domaine en cas de VIP devrait être Nom d'utilisateur


Comment puis-je obtenir la valeur du type? après .Find


@susuwatari: Je ne comprends pas la question.



1
votes

Vous pouvez prendre un mapper code> et obtenir les objets souhaités.

p>

.as-console-wrapper { max-height: 100% !important; top: 0; }


0 commentaires

2
votes

Vous pouvez utiliser un réduire code> et obtenir les utilisateurs dans userlist code> qui sont également dans VIPS code>

p>

const input = {
    userList: [
        { name:"Ann", number:123456789 },
        { name:"Cathy", number:123456789 },
        { name:"Peter", number:123456789 },
        { name:"Ben", number:123456789 },
    ],
    vips: [ 
        { username:"Ann", years:2018 },
        { username:"Peter", years:2019 },
    ]
};

console.log(input.vips.map(vip => input.userList.find(user => user.name === vip.username)));


0 commentaires