在上一篇中写了关于阵列的做法
假如今天我们将阵列改成物件,该怎么去实现它呢?
先给一个全域值:
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"]
如果还有简单又好理解的方式,欢迎提出分享唷 谢谢