开发者社区> 问答> 正文

检查对象值是否存在于对象的Javascript数组中,如果不存在,则将新对象添加到数组中

如果我具有以下对象数组:

[ { id: 1, username: 'fred' }, { id: 2, username: 'bill' }, { id: 2, username: 'ted' } ] 有没有一种方法可以遍历数组来检查特定的用户名值是否已经存在,并且不执行任何操作,但是是否不使用该用户名(和新ID)将新对象添加到数组中?

谢谢! 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-07 22:58:39 1051 0
1 条回答
写回答
取消 提交回答
  • 我假设ids在这里是唯一的。some是检查数组中事物是否存在的强大功能:

    const arr = [{ id: 1, username: 'fred' }, { id: 2, username: 'bill' }, { id: 3, username: 'ted' }];

    function add(arr, name) { const { length } = arr; const id = length + 1; const found = arr.some(el => el.username === name); if (!found) arr.push({ id, username: name }); return arr; }

    console.log(add(arr, 'ted'));

    2020-02-07 22:58:51
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载