【发布时间】:2021-07-27 14:12:18
【问题描述】:
我有一个对象数组:
[
{ id: 'ade', value: 8 },
{ id: 'rtl', value: 17 },
{ id: 'enu', value: 11 }
]
并希望将其转换为:
[
{ id: 'enu', value: 11 },
{ id: 'rtl', value: 17 },
{ id: 'ade', value: 8 },
]
但我不能反转它等,因为我必须设置一个声明,即项目 { id: 'ade', value: 8 } 应该是最后一个项目,其余的必须按 id 排序。
我尝试减少第一个数组并与第二个数组连接
const firstArr = arr.reduce((acc, cv) => {
if (cv.id === 'ade') {
acc.push(cv)
}
return acc
}, []))
const second = arr.splice(firstArr, 1).sort()
firstArr.concat(second)
但它失败了,似乎过度设计。我想做得更聪明。有什么想法吗?
请给点建议!!
【问题讨论】:
标签: javascript arrays sorting