Javascript:如何对正态分布图的数组进行排序?

Jul*_* S. 2 javascript arrays charts normal-distribution

我必须为正态分布图对数组进行排序,因此它的值必须从最小值到最大值排序,然后再回到最小值,从而创建一条曲线。

例子:

大批:

[200, 300, 0, 100, 400]
Run Code Online (Sandbox Code Playgroud)

必须如何排序:

[0, 100, 200, 300, 400, 300, 200, 100, 0]
Run Code Online (Sandbox Code Playgroud)

关于如何在 Javascript 中执行此操作的任何想法?

Nin*_*olz 5

对于(降序)排序数组的元素分布,您可以使用键的 shffe 排序并将值映射到数组。

var data = [200, 300, 0, 100, 200, 300, 0, 100, 400].sort((a, b) => b - a),
    result = Array
        .from(data.keys())
        .sort((a, b) => b % 2 - a % 2 || (a % 2 ? b - a : a - b))
        .map(i => data[i]);

console.log(result);
Run Code Online (Sandbox Code Playgroud)
.as-console-wrapper { max-height: 100% !important; top: 0; }
Run Code Online (Sandbox Code Playgroud)