0
votes

Insertion Trier sur un tableau d'objets avec JavaScript

J'ai ce tableau avec des objets qui ressemblent à ceci xxx

J'essaie de trier avec la fonction ci-dessous xxx

* * Je ne peux pas utiliser array.sort (...) parce que j'essaie de visualiser l'algorithme, j'utilise des objets afin de changer la couleur des barres que je rend sur l'écran ** Quand je frappe la seconde pour la boucle, je reçois une erreur de "Impossible de lire la propriété" N "N" N "N" N "N" N "NOFDINE", lorsque je l'exécute avec des chiffres, cela fonctionne bien, mais quand je l'essaie d'objets, il donne l'erreur .Je sais maintenant que je suis à court de tableau, est-ce qu'il y a une façon de surmonter cela et de résoudre toujours la gamme d'objets? En outre, j'utilise Vuejs pour afficher tout ce


5 commentaires

Toute raison que vous n'utilisez pas Trier , À quoi ressemble votre tableau et quelle sortie voulez-vous?


J'essaie de faire un visualiseur de l'algorithme de tri, le tableau est juste une liste d'environ 30 objets qui ressemblent exactement à celui mentionné. J'en ai besoin d'être des objets pour que je puisse changer la couleur des éléments pendant le tri, la fonction est asynchronise afin que je puisse faire une pause entre l'action et derrière elle, j'utilise une épissure pour déplacer des éléments dans la matrice.


Votre boucle j est simplement sorti de la matrice.


Quelle méthode de tri voulez-vous visualiser?


Sur une seconde pensée, ce n'est pas si simplement: le tableau [J + 1] = tableau [J] Pièce étend indéfiniment le tableau, répliquant l'élément dans lequel la boucle a commencé. Vous pouvez voir une limitation du navigateur, normalement, ce code mourrait à court de mémoire. Vérifiez à nouveau comment ce tri est censé fonctionner, je pense que le code trierait dans l'ordre décroissant, même après la fixation; Est-ce que c'est destiné?


3 Réponses :


0
votes

sur la première itération i = 0 code>, vous démarrez la deuxième boucle avec la valeur j = i-1 code> qui est -1. Le tableau ne contient pas d'élément avec index -1: Array [-1] code> est non défini code>. Dès que JavaScript peut comparer des variables de différents types, il fonctionne avec des chiffres car la comparaison du nombre et indéfini ne déclenchera pas une erreur

par la manière dont vous pouvez utiliser Array.Prototype.sort méthode, on ressemblera à: p>

P>

<script>
const myArr = [
    { n: 1, color: "red" },
    { n: 44, color: "orange" },
    { n: 13, color: "yellow" },
    { n: 8, color: "green" },
    { n: 2, color: "blue" }
  ];
</script>


0 commentaires

0
votes

essayer contre cela.parray [i] .n écrire ceci.array [i] [n] Et contre cela.array [j] .n écrire ceci.array [j] [n]


1 commentaires

C'est la même chose que d'utiliser la notation du point



0
votes

Y a-t-il des raisons pour ne pas utiliser la méthode de tri comme celle-ci?: XXX


0 commentaires