我有一个项目数组作为在Javascript如下:的Javascript自然排序数组/对象,并保持索引关系
var users = Array();
users[562] = 'testuser3';
users[16] = 'testuser6';
users[834] = 'testuser1';
users[823] = 'testuser4';
users[23] = 'testuser2';
users[917] = 'testuser5';
我需要那种阵列输出如下:
users[834] = 'testuser1';
users[23] = 'testuser2';
users[562] = 'testuser3';
users[823] = 'testuser4';
users[917] = 'testuser5';
users[16] = 'testuser6';
注意它是如何按数组的值排序的,并且在数组排序之后维护了数值到索引的关联(这很关键)。我已经找到了解决这个问题的办法,试图做到这一点,但却遇到了困难。
顺便说一句,我知道这在技术上不是一个数组,因为那意味着索引总是迭代0到n,其中n + 1是进行n的计数。但是,您对其进行了定义,但对该项目的要求仍然相同。此外,如果它有所作为,我不使用jquery。
嘿,我很高兴你找到了一个有效的答案,但我鼓励你快速看看[我的答案](http://stackoverflow.com/questions/3824392/javascript-natural-sort-array-object - 和 - 维护 - 索引 - 关联/ 3824938#3824938)(我有点迟到游戏!)上面。字符串比较内置于JavaScript中,您可能会发现它是一个更整洁的解决方案。 – s4y 2010-09-29 19:10:19
你也应该看看数组和对象文字(我只在我的回答中简单提及它们)。你可以在你的示例代码中快速创建'users'数组:'var users = [['72','testuser4'],['91','testuser2'],...]' – s4y 2010-09-29 19:12:13
感谢您的支持,它看起来更干净。它支持自然排序吗?这就是我的代码有点滑落的原因。 – user396404 2010-09-29 19:16:39