Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TypeError无法将未定义或null转换为对象_Javascript_Lodash - Fatal编程技术网

Javascript TypeError无法将未定义或null转换为对象

Javascript TypeError无法将未定义或null转换为对象,javascript,lodash,Javascript,Lodash,我正在尝试使用lodash函数过滤数据 if ( !_.isEqual(toJS(this.originalName), toJS(this.nameData)) && this.marks.subject.length ) { let NameKeys = _.filter(Object.keys(this.nameData), key => key.startsWith('Jo-')

我正在尝试使用lodash函数过滤数据

if (
      !_.isEqual(toJS(this.originalName), toJS(this.nameData)) &&
      this.marks.subject.length
    ) {

    let NameKeys = _.filter(Object.keys(this.nameData), key =>
                key.startsWith('Jo-')
              )

}
所以,这里我得到了这个例外。我这里的
Object.keys()
设置为
null


如何为此添加支票?或者修复此错误。

首先,您可以检查它是否为实际对象

function isThisRealObject(x) {
   return x && // not null, undefined, false, 0, or ''
       typeof x !== 'number' && 
       typeof x !== 'boolean' && 
       typeof x !== 'string';
}
然后,您可以从需要检查的位置调用此函数

function findKeysFromObject(x) {
    return isThisRealObject(x) && Object.keys(x).length > 0;
}

此.nameData
null
未定义
。你能在设置
this.nameData
的地方包含代码吗?请检查更新的代码最简单的方法是用
Object.keys(this.nameData)
替换
Object.keys(this.nameData |{})
@SimonBrahan在这里undefined@ganeshk您的问题不在您当时提供的代码中;您需要检查填充此.nameData的代码。请检查更新的代码