js对象存入数组前,判断去重

list:[];
我往list push一个

     {
        code:'1',
        name:'小明'
     }

怎么判断list是否存在,code为1的这条数据,有则合并或者不存,没有则存入

阅读 2.9k
4 个回答
    let list = [];
    let item = {
      code: '1',
      name: '小明'
    };
    let addItem = () => {
      let someList = list.filter(el=> {
        return el.code == item.code ;
      });
      if (someList.length > 0) { // 存在则return
        return;
      } else {
        list.push(item); // 不存在则push
      }
    };
    addItem()
let list = []
let addItem = {
    code:'1',
    name:'小明'
  }
let haveCode = list.some(item => item.code === addItem.code)
!haveCode && list.push(addItem)

如答案对你有所帮助请帮忙点下 upvote 或采纳~ 谢谢~

function merge(arr, obj) {
    find: if (Array.isArray(arr)) {
        for (var i = 0; i < arr.length; ++i) {
            if ("code" in arr[i]) {
                Object.assign(arr[i], obj);
                break find;
            }
        }
        arr.push(obj);
    }
    return arr;
}
console.log(merge(list, { code: "1", name: "小明" }));
let list = [];
let addList =  {
        code:'1',
        name:'小明'
     }
list.map(ele=>{
    if(ele.code !== addList.code){
        ele.push(addList)
    }
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题