J'ai un tableau [ "apple", "apple-pie", "orange", "banana"] et une valeur qui est apple .
Je veux boucler le tableau pour trouver quel élément comprend la valeur, si l'élément du tableau comprend la valeur, afficher l'élément du tableau. Si l'élément de tableau n'inclut pas la valeur, affichez la valeur.
Mon code semble correct, le seul problème est qu'il affiche la valeur plusieurs fois lorsqu'il y a plusieurs éléments de tableau non inclus dans la valeur. Est-il possible d'afficher la valeur une seule fois, quel que soit le nombre d'éléments du tableau qui ne sont pas inclus dans la valeur (bien sûr dans la boucle).
Mon code:
Je veux juste console.log("apple"); montrer la pomme une fois
let friute = [ "apple", "apple-pie", "orange", "banana"];
for (i=0; i<friute.length; i++) {
if (friute[i].includes("apple") ) {
console.log( friute[i] )
} else {
console.log("apple");
}
}4 Réponses :
let index = friute.indexOf('apple');
console.log(index===-1 ?'apple':friute[index]);
Utilisez l'attribut flag
let friute = [ "apple", "apple-pie", "orange", "banana"];
let flag =0;
for (i=0; i<friute.length; i++) {
if (friute[i].includes("apple") ) {
console.log( friute[i] )
} else {
if(flag===0) {
console.log("apple");
flag = 1;
}
}
}
Cette modification de votre code n'écrit apple que la première fois qu'elle rencontre un élément de tableau qui n'inclut pas apple.
Cela fonctionne en introduisant une variable booléenne show qui est true au début mais définie sur false après la première fois qu'un élément de tableau n'inclut pas apple. En enveloppant l'instruction de journal dans une condition if qui vérifie si show est vrai, apple n'est imprimé qu'une seule fois pour tous les éléments du tableau qui n'incluent pas apple.
let friute = [ "apple", "apple-pie", "orange", "banana"];
let show = true;
for (i=0; i<friute.length; i++) {
if (friute[i].includes("apple") ) {
console.log( friute[i] )
} else {
if (show) {
console.log("apple");
show = false;
}
}
}Cela fonctionne bien, c'est une façon très intelligente de le faire.
essayez ceci mon ami
let friute = [ "apple", "apple-pie", "orange", "banana"];
let appleIn = 0;
for (i=0; i<friute.length; i++) {
if (friute[i].includes("apple") ) {
console.log( friute[i] )
} else {
if(appleIn ==0)
console.log("apple");
appleIn =1;
}
}
essayez ceci, mon ami n'est pas la meilleure explication que vous puissiez écrire avec le code fourni. Au lieu de cela, expliquez ce que vous avez changé et pourquoi et ce que fait votre code et comment il résoudra le problème. Placer également votre code dans un extrait de code permettrait à quiconque de l'exécuter et de voir les résultats. Est-ce suffisant pour un vote défavorable? Absolument. Et d'ailleurs, cela s'applique à toutes les autres réponses jusqu'à présent sur cette question.
Votre code fait exactement ce que vous écrivez dans votre description et que vous voulez qu'il fasse: "si l'élément du tableau inclut la valeur, affichez l'élément du tableau. Si l'élément du tableau n'inclut pas la valeur, affichez la valeur."
Le résultat de mon code est
apple、apple-pie、apple、apple. Le résultat que je veux estapple、apple-pie、appleMa réponse ci-dessous vous donne le résultat que vous souhaitez. Veuillez voter et accepter si vous pensez que c'est utile