未捕获的类型错误:无法读取 null 的属性(读取“slice”) ------ 未捕获的类型错误:无法读取未定义的属性(读取“filter”)
2021-09-15
14397
我非常感谢有关此代码的帮助。它在Google表中工作了,但突然开始出现错误消息。
完整的代码如下:
457540079
849133400
代码> 230383815
3个回答
看起来
data
为
undefined
或
dataReturned
返回
null
。您可以采取变通方法,例如
var data = []; // define globally
google.script.run.withSuccessHandler(function (dataReturned) {
if (dataReturned.length) { // check if dataReturned is not null in setDataForSearch function
data = dataReturned.slice();
}
}).getDataForSearch();
// then check if data is defined & not empty in search function
var resultsArray = !data.length || searchInput == "" ? [] : data.filter(function (r) {
});
编辑 将
!data.length || searchInput == "" ?
替换为
data === null || searchInput == "" ?
M. Haseeb Akhtar
2021-09-15
创建如下 if 条件
google.script.run.withSuccessHandler(function(dataReturned){
if(dataReturned && typeof dataReturned !== 'undefined'){
data = dataReturned.slice();
}else {
data = "null or undefined"
//or do whatever you want in else
}
}).getDataForSearch();
它将检查
dataReturned
是否不为 null 或 undefined。如果为 null/undefined/false,它将不会执行 if 条件中提供的任何内容。
为什么会发生错误?
您正尝试从 null/undefined 中获取某些内容。它类似于
您执行的
null.slice()
smilyface
2021-09-17
您还可以尝试类似的方法:
google.script.run.withSuccessHandler(function(dataReturned){
data = dataReturned?.slice();
}).getDataForSearch();
Lucas Souza
2021-10-21