我正在创建一个检查功能,它检查以下内容:
- 如果数组为空,则应返回未定义。
- 如果给定键的属性不是数组,则应返回未定义。
- 如果该键没有属性,则应返回未定义。
所以我创建了一个if语句,使用||运算符分离这些情况:
function getFirstElementOfProperty(obj, key) {
if(obj.key.length === 0 || !obj.key.isArray || !obj.key.hasOwnProperty(key)){
return undefined;
}else{
return obj.key[0];
}
}
var obj = {
key: [1, 2, 4]
};
由于某些原因,这个不起作用。它还说“无法读取未定义的属性长度”。你有什么想法吗?
obj
和obj.key
是否存在。看起来您的obj.key
是undefined
。 - P.S.Array.isArray(obj[key])? obj[key][0] : void 0
可以完成这个任务。 - RobG