JS:使用_orderBy()对嵌套数组进行排序时保留顶级键。

问题描述 投票:0回答:2
我正在尝试使用_orderBy()进行排序和数组处理,但不幸的是,它把顶级数组键吹走了!我需要能够按那些顶级键和子键(确实很好)进行排序。

bigArray = { "22H7564": { // <------ these are the top level keys "name":"Thor", "age:"600", "height":187, }, "20H3211": { "name":"Mesa", "age:"42", "height":120, }, "27H4506": { "name":"Jesper", "age:"122", "height":143, }, }

这是排序但令人厌烦的结果(_orderBy(BigArray, 'name', 'desc')):

bigArray = { "0": { // <------ FRAAACK! i need these! "name":"Jesper", "age:"122", "height":143, }, "1": { "name":"Mesa", "age:"42", "height":120, }, "2": { "name":"Thor", "age:"600", "height":187, }, }

有没有一种方法可以排序和保留这些顶级密钥?我还需要能够对它们进行排序。

我正在尝试使用_orderBy()进行排序和数组化,但不幸的是,它却浪费了顶层数组键!我需要能够按这些顶级键以及子键进行排序(...

javascript sorting underscore.js
2个回答
1
投票
这是因为您的bigArray实际上是一个对象,没有数组。将其定义为数组[],即可获得所需的结果。

0
投票
在@Paul的有启发性的例子引发大量研究之后,我终于偶然发现了这个解决方案,这是由

not

© www.soinside.com 2019 - 2024. All rights reserved.