Dav*_*nry 0 javascript arrays sorting object lodash
怎么转换{2:'b',3:'c',1:'a'}为[{1:'a'},{2:'b'},{3:'c'}]lodash?
使用Object.keys+ 非常简单Array.map,你真的不需要lodash:
const obj = {2:'b',3:'c',1:'a'};
const arr = Object.keys(obj).map(key => ({ [key]: obj[key] }))
console.log(arr)Run Code Online (Sandbox Code Playgroud)
关于缺少sort函数,上面的代码利用了数字索引的Object键(按照规范)顺序存储的事实.自己检查订单:
console.log({2:'b',3:'c',1:'a'})Run Code Online (Sandbox Code Playgroud)
这是规范的相关部分
9.1.12 [[OwnPropertyKeys]]()
当调用O的[[OwnPropertyKeys]]内部方法时,采取以下步骤:
让密钥成为新的空列表.
对于每个自己的属性键P,O是一个整数索引,按升序数字索引顺序
2A.添加P作为键的最后一个元素.