Return 函数中函数的值
Return a value from a function within a function
因此,我有一个函数用于遍历电子表格中的行。根据检查一些值,我需要 return 一个值,如果没有,不应该 return。我不知道如何仅在函数(行)具有 return 值的特定情况下 return。
function GetOldAreaSize(ID, area_changed, change_doc, area_kha, sheetSource) {
var data = sheetSource.getDataRange().getValues();
data.forEach(function (row) {
if (row[0] == ID) {
var area_changed_old = row[4];
var change_doc_old = row[2]+row[3];
var area_kha_old = row[15];
if (area_changed == area_changed_old) {
if (change_doc == "MR1") {
if (change_doc_old == "PDD1") {
var old_area = parseFloat(area_kha_old);
Logger.log(old_area+" - "+parseFloat(area_kha))
return parseFloat(area_kha_old);
}} else if (change_doc == "MR2") {
if (change_doc_old == "MR1") {
Logger.log(area_kha_old+" - "+parseFloat(area_kha))
return parseFloat(area_kha_old);
}} else if (change_doc == "MR3") {
if (change_doc_old == "MR2") {
Logger.log(area_kha_old+" - "+parseFloat(area_kha))
return parseFloat(area_kha_old);
}} else if (change_doc == "MR4") {
if (change_doc_old == "MR3") {
Logger.log(area_kha_old+" - "+parseFloat(area_kha))
return parseFloat(area_kha_old);
}} else if (change_doc == "MR5") {
if (change_doc_old == "MR4") {
return parseFloat(area_kha_old);
}} else if (change_doc == "MR6") {
if (change_doc_old == "MR5") {
return parseFloat(area_kha_old);
}}
else {
;
}
}
} else{
;
}});
}
在 JavaScript 中嵌套函数时,您不能 return 从内部函数到外部函数。
我建议使用 for
循环而不是 .forEach()
:
let data = sheetSource.getDataRange().getValues();
for(let row of data) {
/* Your code */
}
因此,我有一个函数用于遍历电子表格中的行。根据检查一些值,我需要 return 一个值,如果没有,不应该 return。我不知道如何仅在函数(行)具有 return 值的特定情况下 return。
function GetOldAreaSize(ID, area_changed, change_doc, area_kha, sheetSource) {
var data = sheetSource.getDataRange().getValues();
data.forEach(function (row) {
if (row[0] == ID) {
var area_changed_old = row[4];
var change_doc_old = row[2]+row[3];
var area_kha_old = row[15];
if (area_changed == area_changed_old) {
if (change_doc == "MR1") {
if (change_doc_old == "PDD1") {
var old_area = parseFloat(area_kha_old);
Logger.log(old_area+" - "+parseFloat(area_kha))
return parseFloat(area_kha_old);
}} else if (change_doc == "MR2") {
if (change_doc_old == "MR1") {
Logger.log(area_kha_old+" - "+parseFloat(area_kha))
return parseFloat(area_kha_old);
}} else if (change_doc == "MR3") {
if (change_doc_old == "MR2") {
Logger.log(area_kha_old+" - "+parseFloat(area_kha))
return parseFloat(area_kha_old);
}} else if (change_doc == "MR4") {
if (change_doc_old == "MR3") {
Logger.log(area_kha_old+" - "+parseFloat(area_kha))
return parseFloat(area_kha_old);
}} else if (change_doc == "MR5") {
if (change_doc_old == "MR4") {
return parseFloat(area_kha_old);
}} else if (change_doc == "MR6") {
if (change_doc_old == "MR5") {
return parseFloat(area_kha_old);
}}
else {
;
}
}
} else{
;
}});
}
在 JavaScript 中嵌套函数时,您不能 return 从内部函数到外部函数。
我建议使用 for
循环而不是 .forEach()
:
let data = sheetSource.getDataRange().getValues();
for(let row of data) {
/* Your code */
}