javascript - 如果某个变量包含某个字符串,则更改变量中的值?
问题描述
在我的 excel 电子表格中,我有学生和 LDI 年份字段。
我创建了一个名为 studentandYear 的新变量,它创建了一个包含姓名和年份的新字符串。使用 studentandYear 变量中的年份值,我希望能够创建另一个名为 tag 的变量,其中包含值“year LDI”。您应该能够根据年份切换标签的值。
当我控制台记录标签值时,我只得到一个名为“2019 LDI”的第一个标签,但是第二个标签没有显示在 console.log 上。有人可以帮忙吗?
function myFunction() {
var ss = SpreadsheetApp.getActive().getSheetByName("Studentlist");
var lr = ss.getLastRow();
var date = new Date();
var day = date.getDate();
var month = date.getMonth()+1;
var year = date.getFullYear();
var time = date.toLocaleTimeString();
if(day < 10)
day = "0" + day;
if(month < 10)
month = "0" + month;
var dateString = day+"/" + month +"/"+year+ " - " + time;
for( var i = 2; i<=lr ;i++ ) {
var student = ss.getRange(i, 1).getValue();
var year = ss.getRange(i, 2).getValue();
var studentandYear = student + ' '+ year;
var tag = "";
if(studentandYear.indexOf("2019")){
tag = "2019 LDI"
} else if(studentandYear.indexOf("2020")){
tag = "2020 LDI"
}
Logger.log(tag)
}
}
解决方案
方法indexOf()
返回
一个数字,表示指定搜索值第一次出现的位置,如果从未出现则为-1
参考这里。
您的代码假定indexOf
它将返回一个布尔值(true
或false
),这不是它的工作方式。
所以你需要改变代码说
if(studentandYear.indexOf("2019") != -1) { // i.e. '2019' does not occur
相似地
} else if(studentandYear.indexOf("2020") != -1){
推荐阅读
- c# - {"ORA-06502: PL/SQL: 数字或值错误: 字符到数字的转换错误\nORA-06512: 在第 1 行"}
- c# - 是否可以在 Windows 窗体应用程序的 WebViewControl 中获取 html 代码?
- python - Python 类的子类可以有与基类不同的参数吗?
- google-cloud-platform - 使用 Cloud Build 服务帐号进行编程式身份验证
- c# - 绑定不适用于应用程序资源
- python - 熊猫数据框中的跨列搜索
- r - 如何找到事件/字母/的发生模式?
- php - 无法在 PHP 中获取查询字符串(初学者/简单问题?)
- gradle - 如何编写一个 gradle 构建任务,该任务在与我的 gradle 构建文件不同的目录中运行诸如“npm install”之类的脚本?
- javascript - 在 PHP 中返回没有值