【发布时间】:2022-12-16 13:42:38
【问题描述】:
我试图遍历我的谷歌工作表中的整行并在最后一行 +1 打破它 'i' 作为停止循环的指示符,使用 else-if 条件。 但不知何故,循环不会通过 else-if 条件。
- 当“i”不满足 for 循环条件时循环停止,我怎样才能让它在满足 else-if 条件时停止?
我是 Javascript 和 Typescript 的新手,非常感谢您的每一个建议。
function makedict(){
var product = {}
var code = code_dicted
var name = name_dicted
var unit = unit_dicted
var balance = balance_dicted
var value0 = sheet.getRange("C:M").getValues().map(row => [ row[0]]); //code
var value1 = sheet.getRange("C:M").getValues().map(row => [ row[1]]); //name
var value5 = sheet.getRange("C:M").getValues().map(row => [ row[5]]); //bal
var value6 = sheet.getRange("C:M").getValues().map(row => [ row[10]]); //unit
var range = sheet.getRange("C:M").getValues().length
var lastRow = sheet.getLastRow()
var dict = {}
var result = "\n\n\n"
for (i = 1;i < range;i++){
dict["code"] = value0[i]
var code_dicted = dict["code"]
var code = code_dicted
dict["name"] = value1[i]
var name_dicted = dict["name"]
var name = name_dicted
dict["balance"] = value5[i]
var balance_dicted = dict["balance"]
var balance = balance_dicted
dict["unit"] = value6[i]
var unit_dicted = dict["unit"]
var unit = unit_dicted
product["detail"] = {code,name,balance,unit}
// console.log(product)
if (product.detail["balance"]<product.detail["unit"]){
var text = product.detail["code"]+product.detail["name"]+product.detail["balance"]+product.detail["unit"];
result = result.concat(text)+"\n\n"
}
else if (i === lastRow+1){
console.log(result)
break
}
}
【问题讨论】:
-
也许您可以尝试增加 for 循环中的“范围”?
-
在这种情况下,我会使用 while 循环
-
@BernhardMiehl 谢谢!我试过使用 While-loop 并且它有效。