简而言之,就像这样:
> l = ['asdf', '<br>', 'lorem', 'ipsum', '<hr>', 'dollar', 'sit', 'amex']
> l.split(/<.+>/)
[
[ 'asdf' ] ,
[ 'lorem', 'ipsum' ] ,
[ 'dollar', 'sit', 'amex' ]
]
我写了join
- 和 - split
一个,但是对于大数组来说似乎很慢。
有没有更好的解决方案? indexOf()
?
答案 0 :(得分:5)
一个简单的循环可以:
var result = [[]];
for (var i = 0; i < l.length; ++i) {
if (/^<.+>$/.test(l[i]) {
// start a new inner array
result.push([]);
} else {
// append to the current inner array
result[result.length-1].push(l[i]);
}
}