美文网首页
js使用es6实现数组对象对应属性的去重

js使用es6实现数组对象对应属性的去重

作者: sinbad_master | 来源:发表于2018-10-28 22:10 被阅读0次

相信在开发过程中大家都有遇到需要对数据进行去重的需求。后台返回的数据都是json数据嵌套,那么就会面临需要对嵌套数据进行去重的要求。这个问题一开始我是使用遍历循环判断实现的,但是es6的reduce方法为我们提供了更好的实现方式。以下是代码实现:

function uniqueArr (arr, key) {

  let hash = {};

  return arr.reduce((newArr, item, index, arr) => {

    hash[item[key]] ? '' : hash[item[key]] = true && newArr.push(item);

    return newArr;

  },[])

}

但是这种方法有一个弊端相信大家都已经看出来了,就是作为hash去重对象的key,最后item[key]的值,Number类型和String类型的数字会被认为是重复对象而被去除。但是这确实是一个比较简单的数组对象出重方式。

相关文章

网友评论

      本文标题:js使用es6实现数组对象对应属性的去重

      本文链接:https://www.haomeiwen.com/subject/wjtovftx.html