【问题标题】:Checking against an object property in an array javascript检查数组javascript中的对象属性
【发布时间】:2022-01-03 08:49:24
【问题描述】:
var array = [];

现在,我正在创建一个带有发布请求的对象。

var object = {
  property 1: req.body.x;
  property 2: req.body.y
};

如果属性 1 值(即req.body.x)已经存在于数组中的任何对象中,它应该给出警告。否则我们需要做array.push(object)

如何在每次发布请求时检查属性 1 的值。

【问题讨论】:

    标签: javascript arrays object


    【解决方案1】:

    您可以使用array.Find 来检查数组中是否存在具有相同属性的对象。

    const arr = [{
      prop1: 'foo', // prop1 of `foo` already in array
    }]
    
    // small function so we can avoid code duplication
    const existsInArray = (obj) => {
      return arr.find((a) => a.prop1 === obj.prop1)
    }
    
    const obj1 = {
      prop1: 'foo',
    }
    
    const obj2 = {
      prop1: 'bar',
    }
    
    if (existsInArray(obj1)) {
      console.warn('obj1 already in array')
    } else {
      arr.push(obj1)
    }
    
    if (existsInArray(obj2)) {
      console.warn('obj2 already in array')
    } else {
      arr.push(obj2)
    }
    
    console.log(arr)

    【讨论】:

      猜你喜欢
      • 2017-02-19
      • 2018-03-05
      • 1970-01-01
      • 1970-01-01
      • 2018-10-31
      • 2023-03-20
      • 2020-08-08
      • 2014-01-01
      • 2020-11-30
      相关资源
      最近更新 更多