js数组根据对象中的元素(相同的属性值)去重

如题 代码如下

var arr2 = [

  { name: "name1", num: "1" },

  { name: "name2", num: "11" },

  { name: "name3", num: "12" },

  { name: "name4", num: "13" },

  { name: "name2", num: "1" },

  { name: "name6", num: "12" }

]

function arrayUnique2(arr, name) {

  var hash = {};

  return arr.reduce(function (item, next) {

    hash[next[name]] ? '' : hash[next[name]] = true && item.push(next);

    return item;

  }, []);

}

console.log(arrayUnique2(arr2, "name"));

console.log(arrayUnique2(arr2, "num"));

原文地址:https://www.cnblogs.com/ypinchina/p/14271848.html