繁体   English   中英

如何比较 Google App Scripts 中的字符串

[英]How to compare strings in Google App Scripts

我正在尝试将从我的电子表格中提取的每个“股票代码”的名称添加到“ownedticker”数组,并分别更新其他数组“ownedq”和“ownedtp”中股票的数量和总价。

但是,由于某种原因,此代码不起作用。 感谢帮助!

function pullTransactions() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var transactions = ss.getSheetByName("TransactionHistory"); //Transaction History

var rows = transactions.getDataRange();
var numRows = rows.getNumRows();

var tickers = transactions.getSheetValues(3, 3, (numRows-2), 1);
var ppss     = transactions.getSheetValues(3, 5, (numRows-2), 1);
var qs       = transactions.getSheetValues(3, 7, (numRows-2), 1);

var ownedticker = [];
var ownedq  = [];
var ownedtp = [];

for (var i = 0; i <= tickers.length; i++) {
    var ticker = tickers[i];
    var pps    = ppss[i];
    var q      = qs[i];
    
    var check = ownedq[i];
    
    for (var j = 0; j <= ownedticker.length; j++) {
      if (ownedticker[j]) {
        ownedq[j] += q;
        ownedtp[j] += (q*pps);
      }
    }
    
    if (check == ownedq[i]){
      ownedticker.push(ticker);
      ownedq.push(q);
      ownedtp.push(pps*q);
    }
  }
}

原因是getSheetValues返回一个数组数组,其中每个内部数组都保存每一行的值(数字、字符串、日期、布尔值),并且您的代码正在比较数组(而不是字符串)。

您可以使用 Array.prototype.flat 将 Array of Arrays 转换为 Array 或代替单括号索引,即tickers[i] ,您可以使用双括号索引,即tickers[i][0]

有关的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM