split value with value - 如String.split

时间:2014-12-20 17:53:12

标签: javascript arrays

简而言之,就像这样:

> l = ['asdf', '<br>', 'lorem', 'ipsum', '<hr>', 'dollar', 'sit', 'amex']
> l.split(/<.+>/)
[
  [ 'asdf' ] ,
  [ 'lorem', 'ipsum' ] ,
  [ 'dollar', 'sit', 'amex' ]
]

我写了join - 和 - split一个,但是对于大数组来说似乎很慢。

有没有更好的解决方案? indexOf()

1 个答案:

答案 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]);
    }
}