对数组进行排序并返回一个指示符数组,该数组指示已排序的元素相对于原始元素(new)的位置
Sort array and return an array of indicies that indicates the position of the sorted elements with respect to the original elements (new)
我有这个数组
test = [3, 2, 2, 1];
我希望能够获得此数组
result = [3, 1, 2, 0]
这个想法与: Javascript:对数组进行排序并返回一个指示数组,该数组指示排序的元素相对于原始元素的位置
但是每次"测试"上有两个元素具有相同的值时,都会增加位置值。
您可以传递比较函数来排序:
var test = [3, 2, 2, 1];
var result = [];
for(var i = 0; i != test.length; ++i) result[i] = i;
result = result.sort(function(u,v) { return test[u] - test[v]; })
console.log(result) // [ 3, 1, 2, 0 ]
相关文章:
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- Javascript中的多维数组排序索引问题
- 如何按日期对Javascript对象数组排序
- 数组排序后显示更改
- 当许多元素相等时,Javascript数组排序无法正常工作
- Javascript数组排序速度受字符串长度的影响
- 按唯一键将对象数组排序为数组
- 以 js 为单位的数组排序
- js 数组排序无法正常工作
- 数组排序.论点从何而来
- 不需要的数组排序
- 数组排序不正确/不可预测,使用 indexOf 时
- Javascript将数组排序到树中
- 随后的多维数组排序会产生意外的结果
- 数组排序基于纯javascript搜索文本匹配
- Javascript自定义数组按数组排序
- 使用字符串按属性错误对对象进行数组排序
- 多维数组排序
- JavaScript与PHP在数组排序中的对比
- Javascript-关联数组排序