我正在尝试根据该值对对象数据结构进行排序。 {苹果:1,梨:85,橙色:24,蓝莓:18}
我想按DESC顺序按值重新排序。我认为没有办法做到这一点,即使该对象包装在一个Array中,但也想检查一下。
我的另一个思考过程是将键值对分成2个单独的数组。然后循环值数组,搜索最大谷值并在该点捕获索引,并且该特定索引应与键数组匹配。然后,我可以将键/值对移动到第三个/单独的数组中,并按最大值保持顺序。然后根据捕获的索引号,从键和值数组中弹出。
如果有更好的方法,请随时分享?
答案 0 :(得分:1)
Object
的键未排序,因此仅使用对象就无法实现所需的功能。
但是,如果使用数组,则可以使用Array.sort():
const myArray = [{apple: 1}, {pear: 85}, {orange: 24}, {blueberry: 18}]
myArray.sort((e1, e2) => Object.values(e2)[0] - Object.values(e1)[0])
console.log(myArray)