下面是我的数组:
var array = ["abc.mp3,Lmn.mp3","pqr.mp3","ppp.mp3,ggg.mp3"];
现在我想计算此记录的长度,但我想将逗号分隔的记录视为不是单个记录
例如:abc.mp3,Lmn.mp3希望通过用逗号分割来视为2个单独的记录。
数组的预期长度应为:5
是否有任何方法可以简化计算此长度的过程而不是循环,然后用逗号分割每条记录然后逐个计算长度?
答案 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);