如何从右到左缩小数组?

How to reduce an array from Right to Left?

如何从右向左缩小数组,以便我得到此输出而不是代码段?

[{
  "id": 134116,
  "user": "admin",
  "historyno": "134116-0"
}, {
  "id": 134132,
  "user": "admin",
  "historyno": "134132-0"
}, {
  "id": 134133,
  "user": "admin",
  "historyno": "134133-0"
}];

const input = [{"id":134116,"user":"admin","historyno":"134116-0"},{"id":134132,"user":"admin","historyno":"134132-0"},{"id":134132,"user":"admin","historyno":"134132-1"},{"id":134133,"user":"admin","historyno":"134133-0"},{"id":134133,"user":"admin","historyno":"134133-1"}];

const output = [...input.reduce((r, o) => r.set(o.id, o), new Map).values()];

console.log(output);

我从之前的

那里得到了这段代码

为什么不带Array#reduceRight

const
    input = [{ id: 134116, user: "admin", historyno: "134116-0" }, { id: 134132, user: "admin", historyno: "134132-0" }, { id: 134132, user: "admin", historyno: "134132-1" }, { id: 134133, user: "admin", historyno: "134133-0" }, { id: 134133, user: "admin", historyno: "134133-1" }],
    output = [...input.reduceRight((r, o) => r.set(o.id, o), new Map).values()];

console.log(output);
.as-console-wrapper { max-height: 100% !important; top: 0; }

您可以将 Array.reduce() 换成 Array.reduceRight()

参考:MDN: Array.reduceRight