问一下怎么查找对象数组里面的指定数据?

我目前有一个总数据,大体是这样的格式

[{ content: "姓名", id: "1" }, { content: "校长", id: "2" }]

下面还有一个数据是动态添加的,是这样的格式

[{ content: "姓名", id: "1" }]

问题来了,我怎么查找下面这个数组的这个单个数据是不是上面包含的?请大佬给个方法

阅读 1.7k
2 个回答

提供一种思路

const list = [{ content: "姓名", id: "1" }, { content: "校长", id: "2" }];
const data = { content: "姓名", id: "1" }
const index = list.findIndex(item => item.content === data.content && item.id === data.id);

动态添加的是只会有一条吗?最简单的方式就是双层遍历查找,时间复杂度较高O(n²),数据量不大可以考虑。
或者将id提取到set,set查找是否存在该id,时间复杂度优化到O(n),但空间复杂度也会提升到O(n)。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题