J'ai le code ci-dessous, sur lequel je suis incapable de casser la boucle sous certaines conditions.
isVoteTally(): boolean {
let count = false;
this.tab.committee.ratings.forEach(element => {
const _fo = this.isEmptyOrNull(element.ratings.finalOutcome.finaloutlook);
const _foreign = this.isEmptyOrNull(element.ratings.finalOutcome.foreign);
const _local = this.isEmptyOrNull(element.ratings.finalOutcome.local);
const _tally = element.ratings.finalOutcome.voteTally.maj + element.ratings.finalOutcome.voteTally.dis;
if (_fo == false && _foreign == false && _local == false) {
if (_tally > 0) {
**return count = false;**
}
} else {
if (_tally < 0) {
**return count = false;**
}
}
});
return count;
}
Sur la zone marquée par une étoile, je veux interrompre le code et renvoyer la valeur booléenne, mais je suis incapable de le faire pour le moment. Quelqu'un peut-il m'aider?.
Merci d'avance.
Il n'est pas possible de rompre normalement de forEach()
.
Sinon, vous pouvez utiliser Array.every () parce que vous souhaitez renvoyer false
tout en coupant la boucle.
Si vous voulez renvoyer true, vous pouvez utiliser Array.some ()
this.tab.committee.ratings.every(element => {
const _fo = this.isEmptyOrNull(element.ratings.finalOutcome.finaloutlook);
const _foreign = this.isEmptyOrNull(element.ratings.finalOutcome.foreign);
const _local = this.isEmptyOrNull(element.ratings.finalOutcome.local);
const _tally = element.ratings.finalOutcome.voteTally.maj + element.ratings.finalOutcome.voteTally.dis;
if (_fo == false && _foreign == false && _local == false) {
if (_tally > 0) {
**return count = false;**
}
} else {
if (_tally < 0) {
**return count = false;**
}
}
});
this.tab.committee.ratings.forEach n'est pas l'opérateur. TypeScript permet un code beaucoup plus lisible.
Utilisez for en boucle de la manière suivante:
for(let a of this.tab.committee.ratings) {
if(something_wrong) break;
}
p.s. oubliez "coder comme avec jQuery" dans Angular. Ça ne marche pas.
Ceci est pour Lodash
forEach(this.diningService.menus, (m: any) => {
this.category = find(m.categories, (c: any) => {
return c.id === Number(categoryId);
});
if (this.category) { return false; }
});