0
votes

Comment vérifier si JavaScript Array contient la propriété avec une valeur spécifique, si c'est le cas.

J'ai une option de sélection en angulaire et j'ai besoin de vérifier les valeurs identiques identifiantes que ID dans la base de données, j'ai donc essayé quelque chose comme ceci: xxx pré>

ma partie angulaire: P>

<div class="col-lg-9">
     <select id="applicationModuleFormSelect" name="applicationModuleFormSelect" class="form-control multiselect-select-all" multiple="multiple" data-fouc>
        <option *ngFor="let amf of appModuleForms;" [value]="amf.id" [selected]="isDropdownValueSelected(amf)">{{amf.title}}</option>
     </select>
</div>


5 Réponses :


1
votes

Vous devez peut-être déplacer la fausse valeur à la fin du retour, car chaque instruction code> retour code> termine la fonction.

isDropdownValueSelected(amf: ApplicationModuleForm): boolean {
    for (let i = 0; i < this.role.applicationForms.length; i++) {
        if (this.role.applicationForms[i].id == amf.id) {
            return true;
        }
    }
    return false;
}


0 commentaires

1
votes

Cette fonction ne fonctionne que lorsque l'identifiant du premier élément est assorti, car vous retournez la valeur sur chaque chèque.

Vous devez mettre à jour le code comme celui-ci: P>

isDropdownValueSelected(amf: ApplicationModuleForm): boolean {
    for (let i = 0; i < this.role.applicationForms.length; i++) {
        if (this.role.applicationForms[i].id == amf.id) {
            return true;
        }
    }
    return false;
}


0 commentaires

0
votes

Assumer ApplicationForms CODE> est une matrice, vous pouvez utiliser la méthode Quelques :

isDropdownValueSelected(amf: ApplicationModuleForm): boolean {
  return this.role.applicationForms.some(({id}) => id === amf.id);
}


0 commentaires

0
votes

Utilisez le certains code> Opérateur au lieu de boucler sur vos éléments:

isDropdownValueSelected(amf: ApplicationModuleForm): boolean {
    return this.role.applicationForms.some(e => e.id === amf.id);
}


0 commentaires

0
votes

Vous n'avez pas besoin pour boucle: xxx


0 commentaires