Qu'est-ce qui est différent entre ces deux blocs de code, le résultat du résultat est le même. Quelqu'un peut-il m'aider et expliquer la différence? second code p>
3 Réponses :
Vous devez retourner la différence de deux noms de famille, tels que
people.sort((a, b) => a.split(', ')[0].localeCompare(b.split(', ')[0]));
const alpha = people.sort((lastOne, nextOne) => { const [aLast, aFirst] = lastOne.split(', '); const [bLast, bFirst] = nextOne.split(', '); return aLast > bLast ? 1 : -1; }); console.log(alpha);
Ils n'obtiendront jamais les mêmes résultats! P>
Pour le premier code, vous remarquerez le suivant P>
const [prénom, nom] = first.split (","); // entraînera une erreur si c'est une matrice d'objets que vous triez p>
premier.lastname> last.lastname? 1: -1; // provoquera une erreur si c'est un tableau de chaînes que vous triez p>
Et vous devez également l'envelopper à l'aide d'une instruction de retour si vous tapez le code avant le retour, JavaScript n'ajoutera pas le rendement implicite dans un tel cas p>
retour (premier.lastname> last.lastname? 1: -1); p>
Les gens sont une gamme d'objets contenant des noms de famille, c'est pourquoi il peut accéder au prénom et deuxième nom Des objets "d'abord" et "derniers" sont passés directement à la flèche. P>
Array of People devrait être [{Nom: "John"}, {Nom: "Brad"}, ....] L'objet peut également tenir d'autres propriétés telles que le prénom, l'âge, quoi que ce soit, afin d'utiliser de cette façon. P>
pendant le deuxième code Les gens sont une gamme de cordes ["Dernier, premier", "Doe, John" ....] P>
const [Alast, Afirt] = lastone.split (','); const [Blast, Bfirst] = Nextone.split (','); P>
Lastone et Nextone transmis à la flèche semble être des chaînes "Dernier, premier" séparé par une virgule, et après avoir fractionné, vous désactivez la matrice qui résultera de la division "lastone" et "Nextone" et Utilisez leur nom de lancement dans le tri en utilisant 2 nouvelles variables qui contiennent des valeurs pour vérifier p>
"Qu'est-ce qui est différent entre ces deux filtres?" I> Aucun d'entre eux n'est un filtre. Les deux ont tort (si le but est de trier correctement).
Où avez-vous obtenu ceux-ci? Le premier est un peu non sensible (et des deux problèmes), car il semble tenter de trier un tableau contenant à la fois des chaînes et des objets avec un
Nom code>. (Vous pourrait i> avoir une gamme d'objets qui comptait une méthode code> Split Code> et un
Nom code> propriété, mais ...) Nous avons besoin d'un Lot b> Plus de contexte et une question plus claire et plus définie que «ce qui est différent» afin de vous aider.
Le but est de trier les personnes par ordre alphabétique par nom de famille,
@ T.J. Crowder peut-être que vous pourriez essayer le code de l'échantillon en bas? Dans le cas où vous l'avez manqué
Le premier - ne rien faire. La seconde - triée par nom de famille.
Connexes: Pourquoi ma fonction de flèche ne renvoie-t-elle pas une valeur? I> .
@Hoangdv comment puis-je le tester?
@Fenici - Je n'ai pas à dire, je peux lire le code, qui obtient clairement la valeur de retour qui ne va pas lorsque les entrées sont la même b>. Aussi: être snarky n'est pas un moyen utile d'obtenir de l'aide, maintenant ou à l'avenir.
@HOANGDV - Peut-être que si la mise en œuvre de
trier code> n'est pas trop confuse par le fait que le rappel obtient la valeur de retour fausse pour les entrées égales. :-) Le deuxième
retour code> doit être
retour alast.localecompare (Blast); code> ou au moins
retour Alast == Blast? 0: Alast> Blast? 1: -1; code>.
@ T.J.Crowder Désolé, juste nouveau à JS, ok je l'ai eu. Donc, le tri nécessite une première et la prochaine entrée, et nous devons spécifier chacun d'entre eux, afin de pouvoir le trier?
J'ai bien peur de ne pas avoir aucune idée de ce que vous demandez. Assurez-vous que le contenu complet de votre question est dans B> Votre question (non seulement liée hors site), affiche les entrées et les sorties (encore une fois, dans i> la question), quel résultat Vous voulez, qu'est-ce que vous voyez à la place, et qu'est-ce que vous ne comprenez pas.
Associé (?): Comment trier un Tableau d'objets par plusieurs champs? I>