防止将具有相同值的对象添加到数组的简便方法

时间:2018-11-19 08:28:23

标签: javascript

类似于标题的简单方法,以防止将具有相同值的对象添加到数组中

const array = [
  {
    name:'John'
  },
  {
    name: 'Mark'
  }
]


array.push({name: 'John'}) //don't add

array.push({name: 'Kevin'}) //add

console.log(array)

1 个答案:

答案 0 :(得分:0)

prototype构造函数使您可以向Array()对象添加新的属性和方法。

因此,您可以创建方法addUser并验证新用户是否唯一:

const array = [{name: 'John'},{name: 'Mark'}];

Array.prototype.addUser = function(user) {
  if (!this.some(u => u.name === user.name)) {
    this.push(user);
  }
  return this;
};

array.addUser({name: 'John'});  //don't add
array.addUser({name: 'Kevin'}); //add

console.log(array);