[英]Checking existence of object in Array in Javascript based on a particular value
我有一个对象数组,并且仅当数组中不存在 object 时才想添加一个新的 object。 数组中的对象有 2 个属性,name 和 imageURL,只有当它们的名称相同时,2 个对象才相同,因此我只想比较名称来检查 object 是否存在如何将其作为条件来实现?
您可以使用Array.find
let newObj={ name:'X',imageURL:'..../'}
if(!array.find(x=> x.name == newObj.name))
array.push(newObj)
由于您没有提到使用的变量。 我将假设“arr”作为数组,“person”作为要检查的新 object。
const arr = [{name: 'John', imageURL:'abc.com'},{name: 'Mike', imageURL:'xyz.com'}];
const person = {name: 'Jake', imageURL: 'hey.com'};
if (!arr.find(
element =>
element.name == person.name)
) {
arr.push(person);
};
如果名称不同,则不会将人 object 推入数组中。
您需要使用find
或类似的功能来检查它:
const arr = [{ name: 1 }, { name: 2 }];
function append(arr, newEl) {
if (!arr.find(el => el.name == newEl.name)) {
arr.push(newEl);
}
}
append(arr, { name: 2 }); // won't be added
console.log(arr);
append(arr, { name: 3 }); // will be added
console.log(arr);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.