2012-04-03 18 views
-1

Ich habe ein Array aus einer unbegrenzten Anzahl von Objekten. Diese Objekte haben die gleiche Struktur. Wenn ich meine ganze Reihe console.log bekomme ich so etwas wie diese:Zählen von Objekten in einem Array (Javascript)

[object], [object], [object], ecc ...

Jedes Mal, wenn ich ein neues Objekt innerhalb des Arrays schiebe ich konnte Implementiere auch einen Zähler, oder ich könnte einfach eine normale for-Schleife verwenden, um die Objekte zu zählen. Gibt es keinen effizienteren Weg, um alle Objekte zu zählen?

Warum funktioniert Array.Length nicht?

+1

warum nicht? Wahrscheinlich hast du es einfach falsch geschrieben ('array.length' --->' array.length'). –

+0

Ich sehe nicht, warum 'array.length' nicht funktioniert, können Sie ein Beispiel zeigen? – raser

+0

Meinst du 'array.length'? Könnten Sie bitte ein Codebeispiel angeben? – Pete

Antwort

3

array.length gibt die Anzahl der in einem Array gespeicherten Elemente zurück.

0

Sie sollten in der Lage sein, object.length zu verwenden. Betrachten Sie folgendes Beispiel:

x = [[], function() { return ""; }, 3,document.createElement('div')] 
alert(x.length); 

die Drucke „4“ für mich - versuchen Sie es mit Ihrem Array und es sollte aus der richtigen Anzahl der Objekte in dem Array zu Ihrem Browser-Fenster drucken, wenn Sie mit Hilfe von Javascript sind auf die web ... (sonst drucken Sie einfach x.length)

Vielleicht helfen Sie, mehr von Ihrem Code zu posten. Oooh, btw, verwende nicht "array.length", sondern benutze "x.length" unter der Annahme, dass x der Name oder dein Array ist.

1

Die meisten JavaScript-Engines implementieren nativ eine effiziente .length-Methode für Array-Objekte. Du musst deine Bemühungen nicht duplizieren.

Wenn Sie ein Array erstellen, können Sie einfach auf myArray.length zugreifen, um die Länge zu erhalten.

Beispiel:

var myArray = []; 
myArray.push({ 'id': 1, 'title': 'Who' }); 
myArray.push({ 'id': 2, 'title': 'What' }); 
myArray.push({ 'id': 3, 'title': 'Where' }); 
myArray.push({ 'id': 4, 'title': 'Why' }); 

alert(myArray.length); //should be 4 
Verwandte Themen