【发布时间】:2020-10-09 13:17:12
【问题描述】:
我有一个对象数组。例如:
const obj = [
{category: "Category", value: 1},
{category: "Category", value: 2},
{category: "Category", value: 3},
...
{category: "Category1", value: 1},
{category: "Category1", value: 2},
{category: "Category1", value: 3},
...
{category: "Category2", value: 1},
{category: "Category2", value: 2},
{category: "Category2", value: 3},
];
我需要为这个输出过滤它:
const filteredObj = [
{category: "Category", value: 1},
{category: "Category", value: 2},
{category: "Category", value: 3},
...
{category: "Category1", value: 1},
{category: "Category1", value: 2},
{category: "Category1", value: 3},
...
{category: "Category2", value: 1},
];
保留所有类别,但只为“Category2”保留一条记录。
【问题讨论】:
-
你想保留
Category2中的哪些记录? -
obj.filter(o => o.category != 'Category2' || o.value == 1)应该这样做。 -
为什么不使用 Array.filter 按类别和值字段的条件? developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
-
@Bergi 任何一个,价值可以是任何东西,只有类别很重要。
标签: javascript arrays object filter