下面是我的数组:
var a = []; a["P.M.L."] = 44; a["P.CO."] = 56; a["M.É.D."] = 10;
字符串现在我尝试对数组进行排序,使其看起来像:
["M.É.D." : 10, "P.M.L." : 44, "P.CO." : 56]
型我试过很多方法,但没有一个是成功的。我想知道你们中是否有人知道如何对数组排序。
vqlkdk9b1#
简单的解决方案是:
a.sort(function(x, y) { return x.name - y.name; })
字符串
hsvhsicv2#
正如在评论中提到的,你在这里的问题不仅仅是排序,还有你的数据结构是如何设置的。我认为你在这里实际上想要的是一个对象数组,看起来像这样:
var a = [{name: "P.M.L", val: 44}, {name: "P.CO.", val: 56}, {name: "M.É.D.", val: 10}];
字符串使用这种组织数据的新方法,您可以使用以下代码按val属性对a进行排序:
val
a
a.sort(function(x, y) { return x.val - y.val; });
型
sbtkgmzw3#
直接引用MDN website:
a.sort(function (a, b) { if (a.name > b.name) return 1; if (a.name < b.name) return -1; // a must be equal to b return 0; });
字符串但这实际上不是一个数组,所以你必须把它重组成一个数组。
0yg35tkg4#
根据MDN https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort,这是对此类数组进行排序的最佳方式。
a.sort((a, b) => a.value - b.value);
4条答案
按热度按时间vqlkdk9b1#
简单的解决方案是:
字符串
hsvhsicv2#
正如在评论中提到的,你在这里的问题不仅仅是排序,还有你的数据结构是如何设置的。我认为你在这里实际上想要的是一个对象数组,看起来像这样:
字符串
使用这种组织数据的新方法,您可以使用以下代码按
val
属性对a
进行排序:型
sbtkgmzw3#
直接引用MDN website:
字符串
但这实际上不是一个数组,所以你必须把它重组成一个数组。
0yg35tkg4#
根据MDN https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort,这是对此类数组进行排序的最佳方式。
字符串