JavaScript返回true如果一个嵌套数组中存在值



我想返回true,如果嵌套数组包含特定值

在此示例中,我正在尝试查看用户数组是否具有当前用户ID,但我获得了对象而不是true

var currentUserId ="MBsCLlPbilRr26Jpz5oxhMULRvC2"
var users = [
  {
    id: "MBsCLlPbilRr26Jpz5oxhMULRvC2",
    name: "Dennis",
    url: undefined,
  },
  {
    id: "CLlPbhMULRvC2jnjnDe",
    name: "Dennis",
    url: undefined,
  },
]
console.log(users.find(user=>user.id === currentUserId))

问题是您正在使用.find((而不是.some((。尝试以下内容:

var currentUserId ="MBsCLlPbilRr26Jpz5oxhMULRvC2"
var users = [
  {
    id: "MBsCLlPbilRr26Jpz5oxhMULRvC2",
    name: "Dennis",
    url: undefined,
  },
  {
    id: "CLlPbhMULRvC2jnjnDe",
    name: "Dennis",
    url: undefined,
  },
]
console.log(users.some(user=>user.id === currentUserId))

差异在于输出。.find((将返回值,.some((将返回布尔值。

最新更新