【问题标题】:Easy way to prevent add object with the same value to array [duplicate]防止将具有相同值的对象添加到数组的简单方法[重复]
【发布时间】:2019-04-21 14:07:36
【问题描述】:

像标题一样简单的方法来防止将具有相同值的对象添加到数组中

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


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

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

console.log(array)

【问题讨论】:

  • 请在此处发布您迄今为止尝试过的内容
  • 您可以使用someif(!array.some(item=>item.name===toAdd.name)) array.push(toAdd)检查项目是否存在
  • 非常感谢您的帮助

标签: javascript


【解决方案1】:

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);

【讨论】:

    猜你喜欢
    • 2020-12-09
    • 1970-01-01
    • 2021-02-12
    • 2022-06-10
    • 2019-02-08
    • 2014-06-22
    • 2018-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多