[英]Using If Else statement to print a count
我正在学习 JS 和 Google Apps 脚本。 我只是在研究示例以帮助学习。 我确信我坚持的事情很简单。 有没有办法使用相同的变量打印出戴尔和惠普的数量? 我知道我可以添加第二个变量 counter2 并使用它,但只是看起来理解首选方法。 我试图注释掉我尝试过的东西。 我引用的表有 100 戴尔和 400 惠普。
var ss= SpreadsheetApp.getActiveSpreadsheet();
var es = ss.getSheetByName("School1");
var ms = ss.getSheetByName("School2");
var hs = ss.getSheetByName("School3");
var esValues = es.getDataRange().getValues();
var counter = 0;
//var esValues = es.getRange('A:C').getValues();
Logger.log(esValues.length);
for(var i = 0; i < esValues.length; i++){
var data= esValues[i];
var first = data[1];
var last = data[0];
var middle = data[2];
var studentid = data[3];
var device = data[4];
if(device.includes("Dell")){
counter++;
//Logger.log(`Dell count is ${counter}`); //When add here it prints same line 100+ times
} else if(device.includes("HP")){
counter++;
}
}
Logger.log(`Dell count is ${counter}`)//Printing same count 500
Logger.log(`Hp count is ${counter}`)//Printing same count 500
}```
因此,当使用一个变量记录两个不同项目的总数时不是这样做的方法。 在你的情况下,你的两个条件都会增加计数器,所以当你的 for 循环通过它时,它总是会碰到计数器,所以它会达到 500,这是设备的总数。 尝试这样的事情。
var ss= SpreadsheetApp.getActiveSpreadsheet();
var es = ss.getSheetByName("School1");
var ms = ss.getSheetByName("School2");
var hs = ss.getSheetByName("School3");
var esValues = es.getDataRange().getValues();
var counterDell = 0;
var counterHP = 0; // New for just HP
//var esValues = es.getRange('A:C').getValues();
Logger.log(esValues.length);
for(var i = 0; i < esValues.length; i++){
var data= esValues[i];
var first = data[1];
var last = data[0];
var middle = data[2];
var studentid = data[3];
var device = data[4];
if(device.includes("Dell")){
counterDell++;
//Logger.log(`Dell count is ${counter}`); //When add here it prints same line 100+ times
} else if(device.includes("HP")){
counterHP++;
}
}
Logger.log(`Dell count is ${counterDell}`)//Printing same count 500
Logger.log(`Hp count is ${counterHP}`)//Printing same count 500
}
当device
领域只有HP
和Dells
时,可以解决。 但是,如果device
字段中可以使用的值更多,则没有解决方案,而是使用两个计数器。
如果只用HD
和Dell
,试试这个。
var ss= SpreadsheetApp.getActiveSpreadsheet();
var es = ss.getSheetByName("School1");
var ms = ss.getSheetByName("School2");
var hs = ss.getSheetByName("School3");
var esValues = es.getDataRange().getValues();
var counter = 0;
//var esValues = es.getRange('A:C').getValues();
Logger.log(esValues.length);
for(var i = 0; i < esValues.length; i++){
var data= esValues[i];
var first = data[1];
var last = data[0];
var middle = data[2];
var studentid = data[3];
var device = data[4];
if(device.includes("Dell")){
counter++;
}
}
Logger.log(`Dell count is ${counter}`)
Logger.log(`Hp count is ${esValues.length - counter}`)
}```
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.