Javascript 如果值不为';t存在于数组中,它必须推送到该数组中,如果它确实存在,它就不能推到该数组中

Javascript 如果值不为';t存在于数组中,它必须推送到该数组中,如果它确实存在,它就不能推到该数组中,javascript,reactjs,Javascript,Reactjs,如何避免数组中的重复对象push() let arrOj = [ {id: 1, name: 'foo', source: 234}, {id: 2, name: 'bar', source: 23 }, {id: 3, name: 'test', source: 4}, {id: 1, name: 'change', source: 234} ]; 循环遍历这个对象数组“arrOj”,仅当name的值不存在时,才将每个对象的值

如何避免数组中的重复对象push()

    let arrOj = [
      {id: 1, name: 'foo', source: 234},
      {id: 2, name: 'bar', source: 23 },
      {id: 3, name: 'test', source: 4},
      {id: 1, name: 'change', source: 234}
    ]; 
循环遍历这个对象数组“arrOj”,仅当name的值不存在时,才将每个对象的值推送到这个新数组“arrNew”

        let arrNew = [
      {id: 1, name: 'foo', source: 234},
      {id: 2, name: 'bar', source: 23 },
      {id: 3, name: 'test', source: 4}
    ]; 
因此,我只想在名称不存在时将新值推送到数组中

{id: 1, name: 'change', source: 234}, // i can push this value
{id: 1, name: 'foo', source: 234}, // i must not push this value because the name does exists

如果我理解的很好,这应该可以

让arrOj=[
{id:1,名称:'foo',来源:234},
{id:2,名称:'bar',来源:23},
{id:3,名称:'change',来源:234}
]; 
让我们看看新的=[
{id:1,名称:'foo',来源:234},
{id:2,名称:'bar',来源:23},
{id:3,名称:'test',来源:4}
]; 
函数avoidDouble(newObj){
让发现=错误;
为(阿罗吉的obj){
if(obj.name==newObj.name){
发现=真;
log(“double-found!”);
打破
}
}
如果(!find)arrOj.push(newObj);
}
对于(新项目)避免双重(项目);

控制台日志(arrOj)再次:如果值键名称确实存在/如果名称不存在,在哪里??您不能循环通过您的arr并检查每个名称是否与要推送的值相同吗?如果一个是一样的,那就不要push@colin是的,我想做的是,如果名称与我要推送的名称相同,那么我不能将对象推送到数组中,但如果名称不同,我必须将对象推送到数组中