que tiene una matriz de elementos de la siguiente manera en Javascript:Javascript gama especie naturales/objeto y mantener la asociación de índices
var users = Array();
users[562] = 'testuser3';
users[16] = 'testuser6';
users[834] = 'testuser1';
users[823] = 'testuser4';
users[23] = 'testuser2';
users[917] = 'testuser5';
que hay que solucionar esa matriz para obtener el siguiente resultado:
users[834] = 'testuser1';
users[23] = 'testuser2';
users[562] = 'testuser3';
users[823] = 'testuser4';
users[917] = 'testuser5';
users[16] = 'testuser6';
Observe cómo se ordena por el valor de la matriz y la asociación de valor a índice se mantiene después de ordenar la matriz (que es crítica). He buscado una solución a esto, intenté hacerlo, pero choqué contra una pared.
Por cierto, soy consciente de que técnicamente esto no es una matriz, ya que eso significaría que los índices siempre están iterando de 0 a n, donde n + 1 es el número de conteo que va n. Sin importar cómo lo defina, el requisito para el proyecto sigue siendo el mismo. Además, si hace una diferencia, NO estoy usando jquery.
Hola, me alegra que hayas encontrado una respuesta que funcione, pero te animo a echar un vistazo rápido a [mi respuesta] (http://stackoverflow.com/questions/3824392/javascript-natural-sort-array-object -and-maintain-index-association/3824938 # 3824938) (¡Llegué un poco tarde al juego!) arriba. La comparación de cadenas está integrada en JavaScript, y es posible que en general sea una solución más limpia. – s4y
También debe buscar en el conjunto y los literales de objeto (solo los menciono brevemente en mi respuesta). Podrías crear esa matriz 'users' en tu código de ejemplo mucho más rápido:' var users = [['72', 'testuser4'], ['91', 'testuser2'], ...] ' – s4y
Gracias por el aviso, se ve más limpio. ¿Admite la clasificación de casos naturales? Eso es lo que hizo que mi código fuera un poco más descuidado. – user396404