簡體   English   中英

如何通過Javascript中的對象鍵過濾對象數組

[英]How to filter an array of objects by the object's key in Javascript

我為此苦苦掙扎。 我有一個對象數組,我想按鍵過濾它,這意味着如果數組有兩個帶有某個鍵的對象,我只需要保留最后一個對象。

const mockdata = [
  {
    id: null,
    visibility: 'true',
  },
  {
    id: null,
    visibility: 'true',
  },
  {
    id: null,
    visibility: 'true',
  },
  {
    status: null,
    visibility: 'thid',
  },
];

看起來像:

const mockdata = [
  {
    id: null,
    visibility: 'true',
  },
  {
    status: null,
    visibility: 'false',
  },
];
let mockdata = [
  {
    id: null,
    visibility: 'true',
  },
  {
    id: null,
    visibility: 'true',
  },
  {
    id: null,
    visibility: 'true',
  },
  {
    status: null,
    visibility: 'thid',
  },
];

mockdata = mockdata.filter((data, index, self) =>
  index === self.findIndex((t) => (
    t.id === data.id && t.visibility === data.visibility && t.status === data.status
  ))
)

在過濾時,我正在使用 Array.findIndex 檢查索引,它返回與條件匹配的第一個項目的索引,因此不計算非唯一值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM