Cet article présente principalement comment résoudre le problème des entiers non négatifs lorsque l'objet for in dans Vue a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer.
Quand je fais une exigence, car dans un objet, les attributs de l'objet sont tous des nombres
Mais je veux ajouter un attribut et une valeur par défaut à cet objet
L'objet d'origine est {5446 :"Ville de Canton"}. . . . . Semblable à continue
Ensuite, je veux que la valeur par défaut affichée sur ma page soit "Sélectionner la ville"
Ensuite, je mets {"":"Sélectionner la ville"} devant l'objet Ajouté
mais la réalité n'est pas celle que je pensais. L'objet est cyclé et la ville sélectionnée est en haut au lieu d'en bas. Mais je n'arrive pas à comprendre. Évidemment, mon objet est {"" :"Sélectionnez la ville",5446:"Guangzhou City"......}Comme ça
Pourquoi la ville sélectionnée est-elle toujours en bas de la liste ? Ensuite je suis allé vérifier les informations
et saw vue Le site officiel dit que for in est trié selon Object.keys
Object.keys est le même que for...in (je ne sais pas s'il y a un problème avec cette phrase)
Ensuite, je l'ai fait une démonstration sur la console
var a={"":"123",name:"wenwen"} for(var i in a){console.log(i)} "" name
Cela s'est montré normal
Puis quelque chose d'étrange s'est produit, que se passe-t-il lorsque l'attribut est un non- entier négatif
var a={"":"123",123:"这是一个数字123",12:"这是一个数字12"} for(var i in a){console.log(i)} 123 ""
Avez-vous trouvé le problème ? Les choses ne sont pas comme je le pensais "" 123 12 Imprimez comme ça
Ensuite, j'ai vérifié les informations et trouvé
Ils extrairont d'abord toutes les clés parseFloat attributs dont La valeur est un entier non négatif, puis triez les attributs selon l'ordre numérique et parcourez-les d'abord, puis parcourez tous les attributs restants dans l'ordre défini par l'objet. D'autres navigateurs parcourent les propriétés exactement dans l'ordre dans lequel l'objet est défini.
La description de l'ordre de traversée des attributs dans la nouvelle version est différente de la version précédente, ce qui entraînera le moteur d'analyse JavaScript qui suit la spécification ECMA-262 de troisième édition contenu à traiter. Lors de l'utilisation d'une instruction for-in, il existe une incohérence dans l'ordre de parcours des attributs avec le moteur d'analyse implémenté conformément à la spécification de la cinquième édition
Ce qui précède est tout le contenu de cet article, j'espère qu'il sera utile à l'apprentissage de tout le monde. Utile, veuillez faire attention au site Web PHP chinois pour plus de contenu connexe !
Recommandations associées :
Implémentation d'un lecteur de musique Web mobile basé sur vue
Comment utiliser JS natif pour implémenter Ajax
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!