如何取出物件中重复/不重复的值

在上一篇中写了关於阵列的做法
假如今天我们将阵列改成物件,该怎麽去实现它呢?
先给一个全域值:

const person = [
  { name: "John", age: 10 },
  { name: "John", age: 20 },
  { name: "Jay", age: 30 },
  { name: "Jay", age: 40 },
  { name: "Jack", age: 50 },
  { name: "Jack", age: 60 },
];

方法一
使用ES6语法 map + filter + indexOf

let newObject =person.map(item => {
  return item.name;
})
console.log(newObject) // ["John", "John", "Jay", "Jay", "Jack", "Jack"]

let value = newObject.filter((item, index) => {
  return newObject.indexOf(item) === index;
})
console.log(value) //["John", "Jay", "Jack"]

方法二
跑for回圈,遍历阵列法

let newValue = []
let result = []

person.forEach((item) => {
  newValue.push(item.name)
})

newValue.forEach((item, key) => {
  if(result.indexOf(newValue[key]) === -1) {
    result.push(newValue[key])
  }
})
console.log(result) //["John", "Jay", "Jack"]

方法三
使用Array from搭配new Set的做法

const value = Array.from(new Set(person.map(item => {
  return item.name
})))
console.log(value) //["John", "Jay", "Jack"]

如果还有简单又好理解的方式,欢迎提出分享唷 谢谢


<<:  【左京淳的JAVA WEB学习笔记】第十三章 购物车

>>:  [SQL]ISNULL()函式对於资料型态的隐性规则

D10 - 彭彭的课程#Python 流程控制:回圈基础,while 回圈、for 回圈

假日发一波真的是令人感动 其实我在看这课程的时候都放两倍速听 刚好友人来玩经过我位置居然跟我说在听什...

权威认证(Authoritative accreditation)

-NIST SDLC 和 RMF -认证和认可 (C&A) -授权决定 认证(Certif...

DAY11 MongoDB 深入聚合与常见问题

DAY11 MongoDB 深入聚合与常见问题 MongoDB 的运算子前面有提到过,那是属於查询用...

从零开始的ASP.Net Core 学习

万事起头难 平常的学习方式都是遇到问题才去学、上哪门课学什麽、对哪个主题有兴趣才去学,现在想要有组织...

虹语岚访仲夏夜-0(悲伤的blue)

台北,又变了呢,记得很久前,才在盖的101到现在,烟火都不知道放了几遍,他一定没有在看那些,如果有机...