【发布时间】:2019-02-25 16:49:15
【问题描述】:
这是我的对象data:
[{id:1, name:"Cat", category:{id:2, name:"Animals"}}]
我想检查它是否包含密钥category。
这是我的方法:
if (data.hasOwnProperty("category")) {
console.log("data contains category");
}else {
console.log("data does not contain category");
}
输出是:
数据不包含类别
应该是相反的……
【问题讨论】:
-
你有一个数组,而不是一个对象。如果你应该有一个对象,你应该查看
data的来源。 -
@Devon。它必须是一个对象,因为如果我
alert(data.toString());这是输出:[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object] -
对象周围有
[ ];它是一个包含一个对象的数组。 -
@Jarla,这可能不是查看数据的最简单方法,请使用您的控制台,而不是警报。除此之外,从外观上看,您有一个包含多个对象的数组,而不是单个对象。我认为问题是当你有一个对象数组时你期望一个对象。是生产者错了,还是消费者的期望错了,由你自己判断。
-
@Devon 谢谢,我总是对这个问题感到困惑......它是一个对象还是一个数组
标签: javascript object key