2017-03-03 4 views
0

Unten ist mein Array:Counting Länge von Array mit Komma getrennt Strings

var array = ["abc.mp3,Lmn.mp3","pqr.mp3","ppp.mp3,ggg.mp3"]; 

Jetzt habe ich Länge dieses Datensatzes zählen möchten, aber ich möchte Komma getrennt Datensätze als nicht einem einzelnen Datensatz

behandeln Für zB: abc.mp3 möchte Lmn.mp3 als 2 getrennte Datensätze behandeln, indem sie mit Komma teilen.

erwartete Länge sollte der Array sein: 5

Gibt es eine Methode, die das Verfahren dieser Länge des Zählens anstelle Schleife tun vereinfachen und dann jeden Datensatz durch Komma Aufspalten und dann Länge nacheinander Zählen ?

+0

welcher Code haben Sie dieses Problem zu lösen geschrieben? –

+0

nichts eingebaut ... –

Antwort

3

Join Array als String und dann Split-String zu Array, dann können Sie berechnen das Array length.

var array = ["abc.mp3,Lmn.mp3","pqr.mp3","ppp.mp3,ggg.mp3"].join(',').split(','); 
 
console.log(array); 
 
console.log(array.length);

+1

Nur ein Zeiger, Komma ist der Standard-Join-Wert. Sie können '','' in Join – Rajesh

+0

@Rajesh ignorieren, wenn Sie ',' in Join ignorieren, wie man es in ein Array aufteilt? –

+0

Join Joins Elemente mit Komma selbst als Standard. – Rajesh

3

Sie können eine Schleife über ein Array erstellen und ein neues Array erstellen, das über getrennte Werte verfügt. Jetzt müssen Sie nur noch newArray.length

var array = ["abc.mp3,Lmn.mp3","pqr.mp3","ppp.mp3,ggg.mp3"]; 
 

 
var ret = array.reduce(function(p,c){ 
 
    return p.concat(c.split(',')); 
 
}, []) 
 

 
console.log(ret.length)

Oder tun, können Sie eine Zeichenfolge erstellen und die Anzahl der Kommas zählen und nur 1 hinzufügen, um es

var array = ["abc.mp3,Lmn.mp3","pqr.mp3","ppp.mp3,ggg.mp3"]; 
 

 
console.log(array.join().match(/,/g).length + 1)

+0

Ich habe gerade den gleichen 'reduce' Code;) Schöne Lösung! –

+0

Upvoted für Ihre Bemühungen bemühen, mir zu helfen.Vielen Dank :) –

+0

Ihre Lösung auf unterschiedliche Weise, und der Code auch klar, also werde ich es auch. –

Verwandte Themen