javascript - 如何按特定 ID 合并和排序 2 个数组
问题描述
我想按 ID 合并这两个数组,并按 ID desc 对合并的结果数组进行排序。
不想使用任何外部库,如 Lodash 或 Underscore
更喜欢使用ES6代码行数尽可能少
.
const array1 = [
{id: "14", text: "Notice 14"},
{id: "13", text: "Notice 13"},
{id: "12", text: "Notice 12"},
{id: "11", text: "Notice 11"},
{id: "10", text: "Notice 10"},
]
const array2 = [
{id: "11", text: "Notice 11a"},
{id: "14", text: "Notice 14a"},
{id: "12", text: "Notice 12"},
{id: "15", text: "Notice 15"},
]
我想要一个按 ID 合并的数组并按 ID desc 排序:
[
{id: "15", text: "Notice 15"}
{id: "14", text: "Notice 14a"}
{id: "13", text: "Notice 13"}
{id: "12", text: "Notice 12"}
{id: "11", text: "Notice 11a"}
{id: "10", text: "Notice 10"}
]
解决方案
您可以尝试以下方法:
Object
.values([...array1, ...array2].reduce((acc, item) => ({ ...acc, [item.id]: item }), {}))
.sort((a, b) => (b.id - a.id))
推荐阅读
- google-sheets - Filter() 公式正在停止条件格式的工作
- python - 如何计算数据框中一行的增加/减少次数
- excel - 如何强制加载 COM 插件?
- javascript - 本地存储和可见 DOM 上存在的元素上的 QuerySelector null
- reactjs - 在 React 中将按钮渲染为加载登录
- java - 如何在我的 Java Spring 应用程序中获取 ActiveMQ 队列的入队和出队计数?
- python - Python Bs4 问题试图刮表
- android - 在 onMessageReceived() 中检查通知的有效负载
- powerbi - 有没有办法在 DAX/Power BI 中创建可重用函数,将计算度量作为参数?
- php - 是否可以可视化电子邮件客户端的 HTML 更改?