码迷,mamicode.com
首页 > Web开发 > 详细

js 去重

时间:2019-01-07 01:38:58      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:highlight   lte   ons   lse   from   new   source   filter   property   

 
 
function unique(array) {
let obj = {};

return array.filter((item, index, array) => {
let newItem = typeof item === ‘function‘ ? item : JSON.stringify(item)
return obj.hasOwnProperty( typeof item + newItem) ? false : (obj[typeof item + newItem] = true)
})
}
 
ES6
 
var array = [1, 2, 1, 1, ‘1‘];

function unique(array) {
   return Array.from(new Set(array));
}

console.log(unique(array)); // [1, 2, "1"]

甚至可以再简化下:

function unique(array) {
    return [...new Set(array)];
}

还可以再简化下:

var unique = (a) => [...new Set(a)]

此外,如果用 Map 的话:

function unique (arr) {
    const seen = new Map()
    return arr.filter((a) => !seen.has(a) && seen.set(a, 1))
}
 
 

js 去重

标签:highlight   lte   ons   lse   from   new   source   filter   property   

原文地址:https://www.cnblogs.com/flxy-1028/p/10231136.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!