2017-03-03 1 views
0
다음

내 배열 문자열을 분리 :계수 길이는

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

이 지금은이 레코드의 길이를 계산하고 싶지만 그럴 하나의 기록으로 쉼표로 구분 된 기록을 치료하고자하는

예 : abc.mp3, Lmn.mp3 쉼표로 분리하여 2 개의 분리 된 레코드로 처리하려고합니다.

배열 예상 길이는 같아야 5

이 길이를 계산하는 대신에 루프를 수행하고 쉼표에 의하여 각 레코드를 분할하고 하나의 길이를 계산하는 과정을 단순화 할 수있는 방법이 있는가 ?

+0

어떤 코드는이를 해결하기 위해 작성했습니다? –

+0

아무 것도 내장되어 있지 않습니다 ... –

답변

3
에 1을 추가

배열을 문자열로 결합한 다음 문자열을 배열로 분할하면 계산할 수 있습니다. 배열 length.

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

+1

단지 포인터입니다. 쉼표가 기본 조인 값입니다. – Rajesh

+0

@Rajesh를 무시하면' ',''를 무시할 수 있습니다.','join에서 어떻게 배열로 나눕니까? –

+0

조인은 쉼표 자체를 사용하여 요소를 기본값으로 조인합니다. – Rajesh

3

배열을 반복하고 값이 분할 될 새 배열을 만들 수 있습니다. 이제 당신은 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)

을 할 필요가 또는 당신이 문자열을 만들 수 있습니다 쉼표의 수를 계산하고 그냥

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

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

+0

그냥 같은'reduce' 코드를 게시했습니다.) 멋진 해결책! –

+0

나를 돕기위한 친절한 노력으로 Upvoted. 고맙습니다. –

+0

다른 방법으로 코드를 작성하고 코드도 명확하게 작성했습니다. –