Quelle est la différence entre les deux?
Je sais donc que array.size()
c'est une fonction tandis que array.length
c'est une propriété. Existe-t-il un cas d'utilisation pour utiliser l'un sur l'autre? Est-ce que l'on est plus efficace? (J'imagine .length
que c'est beaucoup plus rapide car c'est une propriété plutôt qu'un appel de méthode?) Pourquoi utiliserait-on jamais l'option plus lente? Y a-t-il des navigateurs incompatibles avec l'un ou 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);
Imprime:
0, 0, true
3, 3, true
javascript
arrays
Abraham P
la source
la source
Array.size()
méthode en JavaScript natif?.size
....size()
provient probablement du framework Prototype: prototypejs.org/doc/latest/language/Array/prototype/sizeRéponses:
Array.size () n'est pas une méthode valide
Utilisez toujours la propriété length
Il existe une bibliothèque ou un script ajoutant la méthode de taille au prototype de tableau car il ne s'agit pas d'une méthode de tableau natif. Cette opération est généralement effectuée pour ajouter la prise en charge d'un getter personnalisé. Un exemple d'utilisation serait lorsque vous souhaitez obtenir la taille en mémoire d'un tableau (ce qui est la seule chose à laquelle je pense qui serait utile pour ce nom).
Underscore.js définit malheureusement une
size
méthode qui retourne réellement la longueur d'un objet ou d'un tableau. Étant donné que, malheureusement, la propriété length d'une fonction est définie comme le nombre d'arguments nommés, la fonction déclare qu'elle devait utiliser une alternative et que la taille a été choisie (compter aurait été un meilleur choix).la source
.size()
n'est pas une fonction JS native deArray
(du moins pas dans les navigateurs que je connaisse)..length
doit être utilisé.Si
.size()
ne fonctionne pas sur votre page, assurez-vous que vous n'avez pas de bibliothèques supplémentaires incluses comme un prototype qui déblaye avec leArray
prototype.ou
Il peut y avoir un plugin sur votre navigateur qui débloque le
Array
prototype.la source
[].size
dans la console. Si cela fonctionne, alors vous avez une sorte de plugin Chrome qui débloque le prototype Array, et je serais inquiet. :)le
.size()
fonction est disponible dans Jquery et de nombreuses autres bibliothèques.le
.length
propriété ne fonctionne que lorsque l'index est un entier.La
length
propriété sera travailler avec ce type de tableau:La
length
propriété ne fonctionnera pas avec ce type de tableau:Donc, dans votre cas, vous devriez utiliser la
.length
propriété.la source
pbook
ci-dessus, vous pouvez utiliser$(pbook).size();
[requiert jQuery].size()
appartient à jQuery, il est fort probable que vous soyez confus ou que vous ayez pris quelqu'un d'autre qui avait importé la bibliothèque jQuery dans son projet.Si jQuery était importé et que vous écriviez comme
$(array).size()
cela, il retournerait la longueur du tableau.la source
.size()
non seulement jqueryarray.length
n'est pas nécessairement le nombre d'éléments dans le tableau:La longueur du tableau est un de plus que l'indice le plus élevé.
Comme indiqué précédemment, ce
Array.size()
n'est pas une méthode valide.Plus d'information
la source
La propriété 'length' renvoie le (last_key + 1) pour les tableaux avec des touches numériques:
imprimera 12!
Cela fonctionnera:
la source
La méthode .size () est obsolète à partir de jQuery 1.8. Utilisez plutôt la propriété .length
Voir: https://api.jquery.com/size/
la source
La taille détecte les doublons, elle renverra le nombre de valeurs uniques
la source
En fait, ce
.size()
n'est pas une méthode JavaScript pure, il y a une propriété d'accesseur.size
de l' objet Set qui ressemble un peu.size()
mais ce n'est pas une méthode de fonction, comme je l'ai dit, c'est une propriété d'accesseur d'un objet Set pour montrer le nombre unique de éléments (uniques) dans un objet Set.Et
length
est une propriété d'un objet (tableau) itérable qui renvoie le nombre d'éléments dans ce tableau. La valeur est un entier non signé de 32 bits qui est toujours numériquement supérieur à l'index le plus élevé du tableau.la source
nous pouvons utiliser la propriété .length pour définir ou renvoyer le nombre d'éléments dans un tableau. la valeur de retour est un nombre
nous pouvons vous .size au cas où nous aurions besoin de filtrer les valeurs en double et d'obtenir le nombre d'éléments dans un ensemble.
la source