如何检查数组键是否存在?

时间:2017-01-15 19:00:08

标签: javascript arrays

如何检查javascript中是否存在密钥?

我有以下内容,我想检查docs[3].created是否存在且是否有值,如果有,则将其添加到thevalue变量。

有了这个,由于docs[3].created没有退出,我得到“无法读取属性'创建的'未定义'错误。

var docs=[{ created: 2016-01-10, name: "Claes"},{ created: 2016-01-11, name: "Lisa"}];

var thevalue = docs[3].created;

我真的需要一些帮助,非常感谢!

1 个答案:

答案 0 :(得分:0)

docs是一个对象数组。每个对象都有一个创建的元素。但是,您尝试获取第三个项目的创建,而您只有两个项目,因此可能的有效索引是0和1.您可以执行以下操作:

var docs=[{ created: 2016-01-10, name: "Claes"},{ created: 2016-01-11, name: "Lisa"}];

var thevalue = (docs.length > 3) ? docs[3].created : undefined;

这将导致undefined在当前设置下并将消除错误。如果你的数组有第三个元素,那么这会将它存储到变量中。