You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中判断user.id是否存在于对象数组中?

解决对象数组中检测指定ID用户是否存在的问题

你的代码存在两个关键问题:

  • id=1 是赋值操作,不是匹配条件,这里应该直接传入要检测的ID值(比如2)
  • Array.includes() 会严格匹配数组中的完整元素,而你的数组元素是对象,不是单个数字ID,所以永远无法匹配成功

正确实现方式

推荐使用 Array.some() 方法,它会遍历数组,只要有一个元素满足条件就返回true,非常适合这类存在性检测:

const targetId = 2; // 要检测的目标ID
if (res.data.followers.some(user => user.id === targetId)) {
    setIsFollow(true);
    console.log("user exists");
}

也可以用 Array.find() 实现,找到匹配对象则返回该对象,否则返回undefined,同样能用于判断:

const targetId = 2;
const foundUser = res.data.followers.find(user => user.id === targetId);
if (foundUser) {
    setIsFollow(true);
    console.log("user exists");
}

原代码失效原因说明

原代码里的 includes(id=1) 实际是先把变量id赋值为1,再检查数组中是否存在数字1,但你的数组元素都是{id: x, username: ...}格式的对象,自然找不到匹配项。

内容的提问来源于stack exchange,提问作者Destiny Franks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 09:13:09