1
這是一個Sheets文檔的腳本,其中who []是一個char數組,而[]是一個int數組,它們都是從R1C1投入。出於某種原因,d + what [i]連接了d的前一個值和[i](作爲字符串 - 意外行爲),但是d-what [i]按預期執行整數相減。我已經通過用d-what [i] *( - 1)來代替這個錯誤,從而消除了怪異。谷歌腳本在整數上重載+就好像它們是字符串一樣,我不知道爲什麼
function compareExpenses(who, what) {
var d = 0;
// var who = ['T','D','T'];
// var what = [15,10,5];
for (var i=0; i < what.length; i++) {
if (who[i] == 'T') {
d = d+what[i];
} else {
d = d-what[i];
}
}
return d/2;
}
在情況下,它是不清楚:與在代碼樣品輸入d的每一次迭代後的值是:「015」,5「 55」。此工作表上不存在其他代碼。我不知道這會導致+以這種方式超載嗎?
使用腳本調試步驟和調查。它必須是你輸入的內容不是代碼註釋中的內容。 –
你可以使用'Number(d)+ what [i]'來演繹嗎? – Matt