使用Google Apps脚本比较两个整数数组

时间:2019-05-06 04:50:11

标签: arrays google-apps-script

我是一个使用app脚本的初学者,正在编写一个库存检查器,该检查器将一个数组(我们当前库存的数量)中的值与另一组设置的阈值进行比较,这些阈值表示何时需要重新订购每个库存项目。

如果库存数量(数组1中给定元素的值)小于或等于阈值(数组2中相同元素的值),那么我以后会做一些有用的事情。现在,我只是将每个比较结果发送到一个新的布尔数组进行测试。

我知道每个数组中的值都是正确的,并且已正确索引以进行比较,然后再发送给该函数。

function compareArrays(quantitiesArray, thresholdsArray) {

  var boolArray = []; 

  quantitiesArray.forEach(function(quantity, i) {

    var threshold = thresholdsArray[i];

    if (quantity <= threshold) {
      boolArray.push('TRUE');
    }
    else {
      boolArray.push('FALSE');
    }
  })
  return boolArray;  
}

由于某些原因,当我的forEach循环比较两个数组的值时,我得到了不正确的比较结果。例如,日志将显示数量= 9000和阈值= 11000之间的比较,并且吐出FALSE,这没有任何意义。

我还尝试了一个简单的for循环,它吐回了完全相同的错误true / false值。我在每一点上使用了一堆不同的Logger.log检查,以确保比较每个数组中的正确值,并且一切都检出。

1 个答案:

答案 0 :(得分:0)

由var定义的变量默认为字符串类型,因此代码中的9000和11000 int是字符串类型,并且9000(字符串)和11000(string)之间的比较为false。在比较之前,应将类型转换为int。