我试图了解如何按整数值对 JavaScript 对象数组进行排序。但是,在网上查看了许多以前的解决方案后,我的运气并不好。我怀疑这可能是由于我构建阵列的方式,但由于缺乏知识,我不确定原因。
当我寻求指导时,很多示例都显示了一个可以访问的公共密钥名称,但是,我更愿意使用不同的密钥属性,如下所示。
我有一个 JavaScript 对象数组,如下所示:
(10) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
0: {Avobath_Count: "5"}
1: {DragonsEgg_Count: "3"}
2: {Intergalactic_Count: "2"}
3: {Twilight_Count: "9"}
4: {SexBomb_Count: "6"}
5: {TheExperimenter_Count: "6"}
6: {TurtleImmersion_Count: "5"}
7: {Butterball_Count: "3"}
8: {MarshmallowWorld_Count: "0"}
9: {ThinkPink_Count: "2"}
我曾尝试使用:
keysSorted = Object.keys(presentationOrder).sort(function(a,b){return presentationOrder[a]-presentationOrder[b]}).map(key => presentationOrder[key]);
但是,这并没有根据值将我的数组从高到低排序。
我想让我的数组显示如下:
(10) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
0: {Twilight_Count: "9"}
1: {SexBomb_Count: "6"}
2: {TheExperimenter_Count: "6"}
3: {Avobath_Count: "5"}
4: {TurtleImmersion_Count: "5"}
5: {Butterball_Count: "3"}
6: {DragonsEgg_Count: "3"}
7: {Intergalactic_Count: "2"}
8: {ThinkPink_Count: "2"}
9: {MarshmallowWorld_Count: "0"}
任何指导将不胜感激。
您可以使用Object.values
提取对象的值并将其与sort
let arr = [
{Avobath_Count: "5"},
{DragonsEgg_Count: "3"},
{Intergalactic_Count: "2"},
{Twilight_Count: "9"},
{SexBomb_Count: "6"},
{TheExperimenter_Count: "6"},
{TurtleImmersion_Count: "5"},
{Butterball_Count: "3"},
{MarshmallowWorld_Count: "0"},
{ThinkPink_Count: "2"},
]
arr.sort((a, b) => Object.values(b)[0] - Object.values(a)[0]);
console.log(arr);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句