首页 > 解决方案 > 排序数字数组并返回索引js

问题描述

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

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

我想排序但返回index一个数组:

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

如果有相同的数字,index应该先放置较小的。

标签: javascriptarrayssorting

解决方案


您可以获取所有索引并使用 的值进行排序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]


推荐阅读