[英]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.