有没有方法实现js中对象中value的排序
期望结果 就是value 大到小排序
利用评论方法可以实现排序 但是展开以后又回到原来的状态了
Object.entries 转数组,sort 排序,再 Object.fromEntries 转回来
const target = {
a: 3,
c: 1,
constructor: 1,
fsdfd: 0.3,
vvd: 100,
}
const result = Object.fromEntries(Object.entries(target ).sort((prev, next) => prev[1] - next[1]))
console.log(result); // {fsdfd: 0.3, constructor: 1, c: 1, a: 3, vvd: 100}
通过 Object.keys() 来迭代即可
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
对象的属性值排序是无意义的。
具体可以看我早些时候写的这篇笔记 👉 Js对象 调整属性排序是否有意义?
大概原因是:
可以考虑使用
Map
数据结构的方式来自定义属性顺序。相关阅读
Map - JavaScript | MDN
js 中如何调换对象属性的位置
ES6 中的 新数据结构 Set & Map