排序数字数组并返回索引js

时间:2020-04-20 08:38:39

标签: javascript arrays sorting

我有一个数组。如下图所示:

var num = [2,1,2,6,2,4];

我想排序,但将index返回到数组:

var result = [1, 0, 2, 4, 5, 3];

如果数字相同,则应将较小的index放在首位。

1 个答案:

答案 0 :(得分:1)

您可以获取所有索引并按num的值进行排序。

var num = [2, 1, 2, 6, 2, 4],
    indices = [...num.keys()].sort((a, b) => num[a] - num[b]);

console.log(indices); // [1, 0, 2, 4, 5, 3]