鉴于此 OfficeScript:
function main(workbook: ExcelScript.Workbook, myText: string) {
let ws = workbook.getActiveWorksheet();
let rng = ws.getRange("B3:C6");
let rgnArr = rng.getValues();
let email: string | number | boolean;
for (let i = 0; i <= rgnArr.length - 1; i++) {
if (myText === rgnArr[i][0]) {
let email = rgnArr[i][1];
//break;
}
};
console.log(email);
}
在此电子表格中:
如果我将
ABC
传递给 myText
,我应该到达控制台:[email protected]
我得到了
undefined
let email = rgnArr[i][1];
覆盖 let email: string | number | boolean;
。有两个具有相同名称的变量。但它们的范围不同。
当代码
email
访问它时,undefined
的值必须是 console.log(email);
,因为它没有被分配任何值。
修复:使用
email = rgnArr[i][1];
在for循环中赋值。