Tengo una matriz en JavaScript que parece
[ { "name":"a", "phoneNo":"1" }, { "name":"X", "phoneNo":"3" }, { "name":"A", "phoneNo":"2" }, { "name":"b", "phoneNo":"4" }, { "name":"c", "phoneNo":"5" }, { "name":"D", "phoneNo":"6" } ]y quiero ordenarlo por el valor del nombre en cada matriz, alfabéticamente. NOTA: todos los nombres se convertirán primero a minúsculas. Estoy atascado con este problema y traté mucho de resolverlo yo mismo y también intenté investigar un poco, pero no encontré nada. ¡¡¡Ayuda!!!
Usando lodash, puede resolver el problema fácilmente: use Lodash para ordenar la matriz de objetos por valor
_.sortBy(myArray, o => o.name.toLowerCase())Solución usando JS
Referencia aquí
const arr = [ { "name":"a", "phoneNo":"1" }, { "name":"X", "phoneNo":"3" }, { "name":"A", "phoneNo":"2" }, { "name":"b", "phoneNo":"4" }, { "name":"c", "phoneNo":"5" }, { "name":"D", "phoneNo":"6" } ] console.log(arr.sort(function(a, b){ var nameA=a.name.toLowerCase(), nameB=b.name.toLowerCase(); if (nameA < nameB) //sort string ascending return -1; if (nameA > nameB) return 1; return 0; //default return value (no sorting) }));