469 Stimmen

Array.size() vs Array.length

Worin besteht der Unterschied zwischen den beiden?

Ich weiß also, dass array.size() ist eine Funktion, während array.length ist eine Eigenschaft. Gibt es einen Anwendungsfall, bei dem das eine mehr als das andere verwendet wird? Ist die eine effizienter? (Ich könnte mir vorstellen .length wesentlich schneller sein, da es sich um eine Eigenschaft und nicht um einen Methodenaufruf handelt?) Warum sollte man überhaupt die langsamere Option verwenden? Gibt es einige Browser, die mit dem einen oder dem anderen nicht kompatibel sind?

  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);

Wird gedruckt:

  0, 0, true
  3, 3, true

11voto

cskwg Punkte 601

Die Eigenschaft "length" gibt bei Arrays mit numerischen Schlüsseln den Wert (last_key + 1) zurück:

var  nums  =  new  Array();
nums [ 10 ]  =  10 ; 
nums [ 11 ]  =  11 ;
log.info( nums.length );

wird 12 drucken!

Das wird funktionieren:

var  nums  =  new  Array();
nums [ 10 ]  =  10 ; 
nums [ 11 ]  =  11 ;
nums [ 12 ]  =  12 ;
log.info( nums.length + '  /  '+ Object.keys(nums).length );

4voto

Davy Punkte 1531

Die Methode .size() ist ab jQuery 1.8 veraltet. Verwenden Sie stattdessen die Eigenschaft .length

Siehe: https://api.jquery.com/size/

1voto

rev Punkte 27

Size erkennt Duplikate und gibt die Anzahl der eindeutigen Werte zurück

const set1 = new Set([1, 2, 3, 4, 5, 5, 5, 6]);
console.log(set1.size);
// expected output: 6

1voto

AmerllicA Punkte 22941

Eigentlich, .size() keine reine JavaScript-Methode ist, gibt es eine Accessor-Eigenschaft .size de Satz Objekt, das ein wenig aussieht wie .size() aber es ist keine Funktionsmethode, sondern, wie gesagt, eine Accessor-Eigenschaft eines Set-Objekts, um die eindeutige Anzahl der (eindeutigen) Elemente in einem Set-Objekt anzuzeigen.

Die Zugriffseigenschaft size gibt die Anzahl der (eindeutigen) Elemente in einem Set-Objekt zurück.

const set1 = new Set();
const object1 = new Object();

set1.add(42);
set1.add('forty two');
set1.add('forty two');
set1.add(object1);

console.log(set1.size);
// expected output: 3

Et length ist eine Eigenschaft eines iterierbaren Objekts (Array), die die Anzahl der Elemente in diesem Array zurückgibt. Der Wert ist eine vorzeichenlose 32-Bit-Ganzzahl, die immer numerisch größer ist als der höchste Index im Array.

const clothing = ['shoes', 'shirts', 'socks', 'sweaters'];

console.log(clothing.length);
// expected output: 4

1voto

Sunali Bandara Punkte 342

Wir können Sie verwenden .Länge Eigenschaft, um die Anzahl der Elemente in einem Array zu setzen oder zurückzugeben. Rückgabewert ist eine Zahl

> set the length: let count = myArray.length;
> return lengthof an array : myArray.length

können wir .size verwenden, wenn wir doppelte Werte filtern und die Anzahl der Elemente in einer Menge ermitteln müssen.

const set = new set([1,1,2,1]); 
 console.log(set.size) ;`

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X