如何将按值排序后的数组转换为有序JavaScript对象?
将排序后的数组转换为对象
你已经通过Object.entries()把原始对象转为键值对数组,并完成了按值降序排序。要把这个排序后的数组转回对象,直接使用Object.fromEntries()方法即可,它能将键值对数组转换为对应的对象。
完整代码示例
const myObject = {0: 54,1: 77,2: 79,3: 39,4: 37,5: 15,6: 23,7: 2,8: 4,9: 8,s: 439,k: 84,i: 654,p: 441,t: 954,o: 799,m: 236,a: 936,n: 675,c: 556,e: 1211,l: 597,g: 117,u: 596,r: 973,h: 200,f: 239,d: 284,b: 176,y: 281,w: 88,v: 174,j: 53,x: 79,'[': 65,']': 65,q: 11,_: 32,z: 3,}; // 生成排序后的键值对数组 const sortedEntries = Object.entries(myObject).sort((a, b) => b[1] - a[1]); // 转换为排序后的对象 const sortedObject = Object.fromEntries(sortedEntries); console.log(sortedObject);
注意事项
- 对于包含数字键和字符串键的对象,JavaScript会自动将数字键按升序排列,字符串键则保留插入顺序。如果需要严格保持所有键的排序顺序,建议使用
Map,它会完全遵循插入顺序:const sortedMap = new Map(sortedEntries); console.log(sortedMap);
内容的提问来源于stack exchange,提问作者Ankit Sahu
相关产品推荐
相关产品推荐

