巧用reduce、filter过滤数组中的相同的元素

来源:互联网 发布:最强nba球员数据对比 编辑:程序博客网 时间:2024/05/16 04:36
    数组元素是一个字符串:
(function(){'use strict';var r,    arr = ['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry'];    r = arr.filter(function (element, index, self) {    return self.indexOf(element) === index;});console.log(r)})()

    

    数组元素是一个对像:

(function(){'use strict';var arr = [        {name:"lili"},        {name:"liwang"},        {name:"liliu"},        {name:"lee"},        {name:"lili"},        {name:"awmgli"},        {name:"awmg"},        {name:"ggmg"},        {name:"awmgli"}    ];var obj = {}; arr = arr.reduce(function(a, b) { obj[b.name] ? '' : obj[b.name] = true && a.push(b); return a}, []) console.log(arr)})()


   
原创粉丝点击