计算包含逗号分隔字符串的数组的长度

时间:2017-03-03 13:17:57

标签: javascript

下面是我的数组:

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

现在我想计算此记录的长度,但我想将逗号分隔的记录视为不是单个记录

例如:abc.mp3,Lmn.mp3希望通过用逗号分割来视为2个单独的记录。

数组的预期长度应为:5

是否有任何方法可以简化计算此长度的过程而不是循环,然后用逗号分割每条记录然后逐个计算长度?

2 个答案:

答案 0 :(得分: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)

或者,您可以创建一个字符串并计算逗号数量,只需添加1即可

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

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

答案 1 :(得分:3)

将数组作为字符串连接,然后将字符串拆分为数组,然后就可以计算数组length



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