ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript – 如何获取数组中排序值的键

2019-06-14 02:26:50  阅读:120  来源: 互联网

标签:javascript sorting


如果我有以下数组:[5,1,-7,3,6,8,0,-1,-3]

通过排序我得到[-7,-3,-1,0,1,3,5,6,8]

这很好,但我想要的是排序时数组的键.
这:[2,8,7,6,1,3,0,4,5]

我尝试使用插入排序,但当然这是错误的.

var arr = [5, 1, -7, 3, 6, 8, 0, -1, -3];
keys = new Array(arr.length);
for(var j = 1; j < arr.length; j++) {
    key = arr[j];
    var i = j - 1;
    while(i >= 0 && arr[i] > key) {
        keys[i+1] = i;
        i--;
    }
    arr[i+1] = key;
    keys[i+1] = j;
}

我是在正确的轨道上吗?你能帮帮我:)

解决方法:

试试这个页面上描述的那种东西

http://www.webdotdev.com/nvd/content/view/878/.

基本上,使数组中的每个项都成为具有两个属性的对象(数组中的sort-key及其索引),然后按键对它们进行排序.

标签:javascript,sorting
来源: https://codeday.me/bug/20190614/1236641.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有