首页 > 解决方案 > 如何划分数组?

问题描述

所以假设我有这个数组变量:

arr = ["a","b","c","d","a","b","a","b","a"]

所以a出现的方式只是随机的我想把这个数组从一个a到下一个a ,例如我的新数组可能是

[["a","b","c","d"],["a","b"],["a","b"],["a"]]

标签: javascriptarrays

解决方案


如果您有想要的值,您可以减少数组并将新数组推送到结果中。然后将所有值推送到结果集中的最后一个数组。

var array = ["a", "b", "c", "d", "a", "b", "a", "b", "a"],
    result = array.reduce((r, v, i) => {
        if (!i || v === 'a') r.push([]);
        r[r.length - 1].push(v);
        return r;
    }, []);

console.log(result);


推荐阅读