下面是我的数组:
var array = ["abc.mp3,Lmn.mp3","pqr.mp3","ppp.mp3,ggg.mp3"];现在我想数一下这个记录的长度,但是我想把逗号分隔的记录看作不是一个记录。
For例如: abc.mp3,Lmn.mp3希望通过用逗号.分割成两个分离的记录。
阵列的预期长度应为: 5
有什么方法可以简化计算这个长度的过程,而不是做循环,然后用逗号分割每个记录,然后一个一个地计算长度呢?
发布于 2017-03-03 13:22:34
将数组作为字符串连接,然后将字符串拆分为数组,然后计算数组length。
var array = ["abc.mp3,Lmn.mp3","pqr.mp3","ppp.mp3,ggg.mp3"].join(',').split(',');
console.log(array);
console.log(array.length);
发布于 2017-03-03 13:21:06
您可以在数组上循环并创建一个具有拆分值的新数组。现在你只需要做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)
https://stackoverflow.com/questions/42579947
复制相似问题