/** 数组去重 * ES6 Array.from(new Set(arr)) ---- 无法去除{},[] * 双重for循环通过==比对去除 ----- 无法去除{},[],NaN (NaN!=NaN...) * 一层数据循环配合includes,indexOf等方法去重 ---- 无法去除{},[] * filter+indexOf 去重 ---- 无法去除{},[] * Map结构去重 ----NaN,{},[]没有去重 * filter+hasOwnProperty方法去重(√) * */ const unique = (arr) => { const obj = {}; return arr.filter(function(item, index, arr){ return obj.hasOwnProperty(typeof item + item) ? false : (obj[typeof item + item] = true) //obj具体怎么存是自定义的,上面只是一个参考 }) } unique( [[],[],1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{name:'1'},{name:'1'}])
js数组去重
于 2024-05-22 09:31:39 首次发布