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

    数组元素是一个字符串:
(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)

})()


   

猜你喜欢

转载自blog.csdn.net/qq_35484341/article/details/77972479