Un objet json a été renvoyé en arrière-plan et la commande a été organisée
Mais lorsque j'utilise js to for in pour parcourir cet objet comme pour parcourir un tableau, le résultat est différent de l'objet d'origine. Après avoir vérifié les informations, j'ai découvert que l'objet js n'était pas ordonné. . Alors, existe-t-il un moyen de parcourir cet objet de manière séquentielle ? Ou comment mettre de l'ordre dans les propriétés de l'objet d'origine ?
Pas de solution. S'il est trié, vous devez utiliser un tableau. Ou avec un tableau de clés.
L'ordre des objets n'est pas spécifié dans ES5, donc différents moteurs peuvent être différents.
Dans ES6,
Object.getOwnPropertyNames()
和Object.getOwnPropertySymbols()
以及等效于两者结合的Reflect.ownKeys()
sera affiché dans un certain ordre, mais ce n'est pas la réponse que vous souhaitez.Il semble que la structure de json soit organisée par ordre de nombres et de dictionnaires. Si tel est le cas, vous pouvez la trier manuellement.
1. Je pense que si l'affichage de votre page est exactement dans l'ordre de tri renvoyé par le backend, alors vous n'avez pas besoin de trier, affichez-la simplement directement.
2. Si la commande souhaitée est différente de la commande back-end, cela dépend des champs dans lesquels les produits sont triés et affichés. Ensuite, vous triez en fonction de ce champ dans l'objet.
Vous devriez pouvoir obtenir ce que vous voulez.
Étant donné que les objets json n'ont pas d'ordre, "l'ordre pré-arrangé" n'existe pas réellement.
Si le frontal souhaite trier en fonction des noms de clés, il peut d'abord supprimer les noms de clés, les trier, puis obtenir le contenu.
Étant donné que l'arrière-plan renvoie des données triées, si vous utilisez ajax pour demander des données, dataType : json, après avoir reçu les données, parcourez-les simplement directement et remplissez-les dans le modèle. Si la commande est erronée, je pense que c'est parce que les données que vous avez obtenues en arrière-plan sont fausses
Si vous souhaitez avoir des valeurs séquentielles, enregistrez-les dans un tableau, puis placez-les dans les attributs json.
De cette façon, un tableau est renvoyé, qui est dans un ordre fixe.