split Array with value - like String.split

split Array with value - like String.split

本文关键字:split like String value Array with      更新时间:2023-09-26

简而言之,像这样:

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

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

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

一个简单的循环就可以了:

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