根据字符串字符将数组拆分为多个数组

时间:2018-09-11 11:18:48

标签: javascript algorithm

我的初始数组:

var mainArray = ['car','incl','arc','linc','rca','icnl','meta','tame'];

我想要这样的结果:

[['car','arc','rca'],['linc','icnl','incl'],['meta','tame']];

1 个答案:

答案 0 :(得分:1)

这是精简版,通过对已排序的字符数组使用闭包来实现。

var array = ['car', 'incl', 'arc', 'linc', 'rca', 'icnl', 'meta', 'tame'],
    result = Object.values(
        array.reduce(
            (r, s) => (a => ((r[a] = r[a] || []).push(s), r))([...s].sort()),
            {}
        )
    );
    
console.log(result);