簡體   English   中英

如何刪除對象數組中的重復項?

[英]How to remove duplicates in Array of objects?

我正在嘗試使用 Javascript 中的過濾器方法刪除對象數組中的重復項。 這是我嘗試過的

const students = [
    {
        name: 'Mark',
        age: 21
    },
    {
        name: 'Williams',
        age: 27
    },
    {
        name: 'Mark',
        age: 21
    }
]

const newStudents = students.filter(function(currentValue,index,arr) {
    return students.indexOf(currentValue) === index
})

console.log(newStudents)

我假設您正在嘗試使用 object 中的字段之一進行過濾。 然后,您可以像這樣過濾:

students.filter(obj => obj.name === 'Mark')

或者你可以定義一個過濾器 function 像:

function filterStudentByAge(student) {
  if(student.age > 21) return true
  else false
}

students.filter(filterStudent)

您的問題對您要過濾的內容不太清楚

但是假設例如您要過濾age is less then 25的發育不良的人

因此,您可以簡單地執行以下操作:

const newStudents = students.filter(function(s,index,arr) {
    return s.age>25;
})

console.log(newStudents)

暫無
暫無

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

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