Javascript 为什么函数不能读取循环中的数组元素?
我有一个简单的函数,只检查数组的第四个元素是否更大 不知何故,我得到了一个错误Javascript 为什么函数不能读取循环中的数组元素?,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我有一个简单的函数,只检查数组的第四个元素是否更大 不知何故,我得到了一个错误TypeError:无法读取未定义的属性“3” 我不知道为什么。。。有人能告诉我这个函数有什么问题吗 var pasujace=[ [“空白”、“A4205022”、“L00063746”、1000.0], [“空白”、“A4205022”、“L00063743”、100.0], [“空白”、“A4205022”、“L00063743”、100.0], [“空白”、“A4205022”、“L00056983”、300
TypeError:无法读取未定义的属性“3”
我不知道为什么。。。有人能告诉我这个函数有什么问题吗
var pasujace=[
[“空白”、“A4205022”、“L00063746”、1000.0],
[“空白”、“A4205022”、“L00063743”、100.0],
[“空白”、“A4205022”、“L00063743”、100.0],
[“空白”、“A4205022”、“L00056983”、300.0]
];
var roznica=50;
函数lastOne(arr,num){
var nowa=[];
对于(变量i=0;inum){
nowa.push(arr[i]);
}
}
返回诺瓦
}
const last=lastOne(帕苏贾斯,罗兹尼卡);
console.log(最后一个)
使用过滤器
var pasujace=[
[“空白”、“A4205022”、“L00063746”、1000.0],
[],
[“空白”、“A4205022”、“L00063743”、100.0],
[“空白”、“A4205022”、“L00063743”、100.0],
[“空白”、“AAA”],
,
[“空白”、“AAA”、“缺失”],
[“空白”、“A4205022”、“L00056983”、300.0]
];
var roznica=100;
常量lastOne=(arr,num)=>arr.filter(项=>{
如果(!item | | item.length<3 | | isNaN(item[3]),则返回false;
返回项目[3]>num
});
const last=lastOne(帕苏贾斯,罗兹尼卡);
console.log(最后一个)
使用过滤器
var pasujace=[
[“空白”、“A4205022”、“L00063746”、1000.0],
[],
[“空白”、“A4205022”、“L00063743”、100.0],
[“空白”、“A4205022”、“L00063743”、100.0],
[“空白”、“AAA”],
,
[“空白”、“AAA”、“缺失”],
[“空白”、“A4205022”、“L00056983”、300.0]
];
var roznica=100;
常量lastOne=(arr,num)=>arr.filter(项=>{
如果(!item | | item.length<3 | | isNaN(item[3]),则返回false;
返回项目[3]>num
});
const last=lastOne(帕苏贾斯,罗兹尼卡);
console.log(最后一个)
。我必须将每个数组中的前三项更改为字符串,这样才能使其成为有效代码。你认为这是因为google sheets吗?我认为这是因为这里没有显示的内容。也许我最好的猜测是数组有一个空插槽。完整数组由这样的数组组成[HAT,A4205022,L00063746,1000.0,,1161P38051,,4720021465]
所以有空插槽,但在元素之后我想检查我们为您添加了引号。。。现在能用了吗?你能不能把它更新成一个更相关的例子,看起来像你正在测试的?。我必须将每个数组中的前三项更改为字符串,这样才能使其成为有效代码。你认为这是因为google sheets吗?我认为这是因为这里没有显示的内容。也许我最好的猜测是数组有一个空插槽。完整数组由这样的数组组成[HAT,A4205022,L00063746,1000.0,,1161P38051,,4720021465]
所以有空插槽,但在元素之后我想检查我们为您添加了引号。。。现在能用了吗?请您将其更新为一个更相关的示例,看起来像您正在测试的内容。OP描述的问题可能是由于arr
没有元素,而不是元素是长度小于3的数组。无论缺少的元素是空插槽还是文本null
或未定义
,都会改变处理方式。此外,完全有可能通过更改arr
的创建方式来修复。使用此解决方案,我得到了TypeError:无法读取未定义的
的属性“length”,因此我想这不是代码再次更新以处理丢失的entries的问题。它现在正在工作,非常感谢!OP描述的问题可能是由于arr
没有元素,而元素是长度小于3的数组。无论缺少的元素是空插槽还是文本null
或未定义
,都会改变处理方式。此外,完全有可能通过更改arr
的创建方式来修复。使用此解决方案,我得到了TypeError:无法读取未定义的
的属性“length”,因此我想这不是代码再次更新以处理丢失的entries的问题。它现在正在工作,非常感谢!