javascript - 如何检查对象是否包含某个键?

标签 javascript object key

这是我的对象数据:

[{id:1, name:"Cat", category:{id:2, name:"Animals"}}]

我想检查它是否包含 key 类别

这是我的方法:

if (data.hasOwnProperty("category")) {
console.log("data contains category");
}else {
  console.log("data does not contain category");
}

输出为:

data does not contain category

应该是相反的...

最佳答案

您需要迭代您的数组。所以你可以将代码放在 forEach

let k = [{
  id: 1,
  name: "Cat",
  category: {
    id: 2,
    name: "Animals"
  }
}]

k.forEach(function(data) {
  if (data.hasOwnProperty("category")) {
    console.log("data contains category");
  } else {
    console.log("data does not contain category");
  }
})

如果您不喜欢迭代,则需要传递索引,因为数据是对象数组。

let data = [{
  id: 1,
  name: "Cat",
  category: {
    id: 2,
    name: "Animals"
  }
}]


if (data[0].hasOwnProperty("category")) {
  console.log("data contains category");
} else {
  console.log("data does not contain category");
}

关于javascript - 如何检查对象是否包含某个键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54870998/

相关文章:

javascript - 通过 AJAX 发送 ASP.NET 模型

php - 脚本源文件与 php 不解析

javascript - OpenWeatherMap API 仅预测几天

php - DateTime 对象的严格比较

python - 带键的元素最大值

javascript - 如何使用多个 select2 框过滤表格?

ruby-on-rails - 解析从 Rails 表单发送的 ruby​​ 对象

git - SmartGIT 不要求 ssh key

python - 如何获取列表/python中每个元组的第一项

Javascript setInterval 方法始终返回与 PHP 方法相同的结果,但我需要更改数据