Je trouve souvent javscript raccourcis utiles, comme le remplacement if/else commeExiste-t-il un équivalent "while" pouvant être utilisé dans une instruction entre parenthèses en JavaScript?
if (a !== 0) {
b = c;
} else {
b = d;
}
avec
b = a ? c : d;
ou remplacement pour/boucles suivantes comme
for (let i = 0; i < array.length; i++) {
element = array[i];
/* do something with element... */
}
avec
array.forEach(element => { /* do something with element... */ });
J'aime particulièrement que ces et d'autres raccourcis similaires peuvent être combinés et utilisés à l'intérieur des déclarations incidentes, telles que
array.forEach(e => (x += e ? a : b, e * x));
(travaux)
Cependant, je n'ai pas été en mesure de trouver un raccourci ou fonctionnel équivalent à l'instruction "while" qui fonctionne entre parenthèses. Existe-t-il une telle chose?
J'ai essayé d'utiliser une instruction normale tandis qu'à l'intérieur des parenthèses, mais je m'y suis une erreur
array.forEach(e => (while (e.length > 160) { e.replace(' ', ''); }, e));
(ne fonctionne pas)
Je sais ce qui précède peut être réécrite sous une forme plus, comme si
array.forEach(e => {
while (e.length > 160) {
e.replace(' ', '');
}
return e;
});
(travaux)
Mais il y a des moments que je préfère vraiment un raccourci en ligne équivalent à while, plutôt que la version longue. Y-a-t-il un moyen de faire ça?
Votre exemple "Forme plus longue" a exactement la même longueur que l'exemple "plus court", à l'exception de la mise en forme des espaces blancs. La seule différence est d'utiliser correctement des accolades au lieu de parens. –
Votre boucle while peut ne jamais se terminer. Si vous transmettez une chaîne composée de plus de 161 caractères non-espace, vous ne quitterez jamais la boucle while. Je ne suis pas sûr de savoir pourquoi vous le faites en boucle, de toute façon; remplacer va obtenir toutes les instances du personnage en un seul appel. En outre, il semble que vous ayez une erreur de syntaxe dans votre version mono-ligne. –
@SteveH. Je pense que le point est qu'il veut utiliser l'opérateur de virgule au lieu d'une déclaration de retour – Paulpro