如果嵌套数组中存在值,则Javascript返回true

时间:2019-07-02 14:20:54

标签: javascript arrays

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

在此示例中,我试图查看users数组是否具有当前用户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))

1 个答案:

答案 0 :(得分:0)

问题是您使用的是.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()将返回布尔值。