Tengo un objeto javascript como este,
var list = { "you": [100,'x',67], "me": [456,'xxx',68], "foo": [7856,'yux',69], "bar": [2,'xcv',45] };Estoy tratando de ordenarlo de acuerdo con el primer elemento en la lista de valores. como esto
var list = { "foo": [7856,'yux',69], "me": [456,'xxx',68], "you": [100,'x',67], "bar": [2,'xcv',45], };No pude encontrar ningún recurso, con una implementación similar en java script.
¿Alguien puede ayudar?
Estoy totalmente de acuerdo con @Andreas acerca de ¿JavaScript garantiza el orden de las propiedades de los objetos? . Pero tal vez una salida de matriz es lo que espera.
var list = { "you": [100,'x',67], "me": [456,'xxx',68], "foo": [7856,'yux',69], "bar": [2,'xcv',45] }; var arr = []; for (const [key, value] of Object.entries(list)) { arr.push({k:key, v:value}) } arr = arr.sort((a, b) => bv[0] - av[0]) console.log(arr);gracias @YuTing por la ayuda.
solución de trabajo
var sortable = []; for (var i in list) { sortable.push([i, list[i]]) } sortable.sort(function(a, b) { return b[1][0] - a[1][0]; }); // console.log(sortable); var objSorted = {} sortable.forEach(function(item){ objSorted[item[0]]=item[1] }) console.log(objSorted);