将javascript数组数组拆分为范围

Jor*_*ber 1 javascript arrays sorting split

我有一个数组,如:

[16, 20, 1, 4, 6, 8, 9, 22, 18, 14, 13, 12]
Run Code Online (Sandbox Code Playgroud)

我希望根据范围1-4,5-8,9-12,13-16,17-20,21-24分成6个不同的阵列.

使用javascript执行此操作的最简单方法是什么?

Nin*_*olz 5

您可以使用间隔将数字分配给特定插槽.

var array = [16, 20, 1, 4, 6, 8, 9, 22, 18, 14, 13, 12],
    interval = 4,
    result = array.reduce(function (r, a) {
        var slot = Math.floor((a - 1) / interval);
        (r[slot] = r[slot] || []).push(a);
        return r;
    }, []);

console.log(result);
Run Code Online (Sandbox Code Playgroud)