繁体   English   中英

根据特定值检查 Javascript 中的数组中是否存在 object

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM