【问题标题】: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)