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

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

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"]

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


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章