数组去重,并且数组的每一项是对象object

2023-05-16

function obj2key(obj, keys){  
  let n = keys.length  
  let key = [] 
  while(n-=1){  
      key.push(obj[keys[n]]);  
  }  
  return key.join('|');  
}  
//去重操作  
export function uniqeByKeys(array,keys){  
  let arr = [];  
  let hash = {};  
  for (let i = 0, j = array.length; i < j; i+=1) {  
      let k = obj2key(array[i], keys);  
      if (!(k in hash)) {  
          hash[k] = true;  
          arr .push(array[i]);  
      }  
  }  
  return arr ;  
} 
 
 
let array = [  
    {a:1,b:2,c:3,d:4},  
    {a:11,b:22,c:333,d:44},  
    {a:111,b:222,c:333,d:444},  
    {a:11,b:22,c:33,d:44},  
    {a:11,b:22,c:33,d:444}  
    ];  
 
 
let arr = uniqeByKeys(array,['a','b']); //按key 为a,b 重复时过滤
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数组去重,并且数组的每一项是对象object 的相关文章

随机推荐