473 votes

Array.size () vs Array.length

Quelle est la différence entre les deux?

Alors je sais qu' array.size() est une fonction lors de la array.length est une propriété. Est-il un cas d'utilisation pour l'utilisation de l'un sur l'autre? Est un plus efficace (j'imagine .length à être beaucoup plus rapides que c'est une propriété plutôt qu'un appel de méthode?) Pourquoi aurait-on jamais utiliser le ralentissement de l'option? Y at-il des navigateurs qui sont incompatibles avec l'une ou de l'autre?

  var x = [];
  console.log(x.size());
  console.log(x.length);
  console.log(x.size()==x.length);
  x =[1,2,3];
  console.log(x.size());
  console.log(x.length);
  console.log(x.size()==x.length);

Affichera:

  0, 0, true
  3, 3, true

624voto

Gabriel Points 5234

Tableau.size() n'est pas une méthode valable

Toujours utiliser la propriété length

Il y a une bibliothèque ou un script en ajoutant la taille de la méthode de la matrice de prototype puisque ce n'est pas un natif de la matrice de la méthode. C'est généralement fait pour ajouter le support de lecture personnalisée. Un exemple d'utilisation de ce serait quand vous voulez pour obtenir la taille en mémoire d'un tableau (qui est la seule chose à laquelle je pense qu'il serait utile de ce nom).

Underscore.js malheureusement définit size méthode qui renvoie en fait à la longueur d'un objet ou d'un tableau. Depuis, malheureusement, la longueur de la propriété d'une fonction est définie comme le nombre d'arguments nommés à la fonction déclare qu'ils devaient utiliser une solution de rechange et de la taille a été choisie (le comte aurait été un meilleur choix).

189voto

Neal Points 68710

.size() est pas un natif JS fonction de l' Array (au moins pas dans n'importe quel navigateur, que je sache).

.length doit être utilisé.


Si

.size() ne fonctionne sur votre page, assurez-vous que vous n'avez pas tout de bibliothèques supplémentaires inclus comme prototype qui est de coucher avec l' Array prototype.

ou

Il pourrait y avoir un plugin sur votre navigateur et qui est le marinage avec l' Array prototype.

21voto

Julio Flores Points 31

.size () est celle de JQuery, que vous avez probablement confondu ou pris avec quelqu'un qui avait importé la bibliothèque JQuery dans son projet. Si JQuery était importé et que vous écriviez comme $(array).size() , la longueur du tableau serait renvoyée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X