在 GAS 中,getValues() 返回一个数组数组(我认为......!)

In GAS, getValues() is returning an array of arrays (I think...!)

抱歉...我的编程知识有限,所以我宁愿一起破解脚本,也卡住了。

对于下面的代码(肯定是正确计算了瞳孔)

var dataRange = sheet1.getRange(2, 3, pupils, 1);
var ArrayOfValues = dataRange.getValues();

在调试器中,Logger.log(ArrayOfValues) 给出:

[[80.0], [51.0], [57.0], [76.0], [A], [53.0]]

然后我想计算 max/min(如果 ArrayOfValues 只是数字,一切正常)。

但是,在上面的代码中,我真的想先尝试过滤掉非数字

var filteredValues = ArrayOfValues.filter(function(value) {
   return typeof value === "number";
});

但是,Logger.log(filteredValues) 表明 filteredValues 是一个空数组。基本上,我正在为同事写一些东西来对学生成绩进行一些统计,并希望确保我可以解释那些因缺席而得分为 A 的人。

非常感谢,

戴夫。

var filteredValues = ArrayOfValues.filter(function(value) {
   return typeof value === "number";
});

当你在这个过滤器循环中时,值为[80.0]、[51.0]、[57.0]、[76.0]、[A]、[53.0]。 typeof 值将是对象。

更改为:

var filteredValues = ArrayOfValues.filter(function(value) {
   return typeof value[0] === "number";
});
console.log(filteredValues)

将return arr 上每个元素的正确类型。 它应该可以工作。