我正在编写一个谷歌应用程序脚本,我从电子表格中获取值。但由于我需要查看是否与变量匹配,我需要确保值为小写。
if (array != null) {
if (array.length == 0)
System.out.println("Empty Array Size=0");
else
System.out.println("Array Not Empty - Size = " + array.length);
} else
System.out.println("array is null");
}
然后我想循环遍历值以查看是否存在匹配,如下所示: 行= 0;
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var column = sheet.getRange(A:A);
var values = column.getValues();
我的问题是这个......我可以确保变量"数据"是小写的,我怎样才能确保值[row]和值[row] [0]也是小写的?
答案 0 :(得分:4)
您可以通过检查小写项目
来遍历值?someparam=1&foo=2
这是for (var row in values)
{
if(values[row][0].toString().toLowerCase() !== data )
{
// do something
}
}
一个数组,你的小写是什么意思?
答案 1 :(得分:1)
首先,我认为使用.getRange
的符号将使用"A:A"
之类的字符串作为参数,以返回包含A列中所有值的范围。
使用Logger.log()
和typeof
检查要返回的值的类型。
values
将是一个二维数组,每个子数组包含每个相应单元格的值。
values[row]
将返回数组,表示索引为row
的单元格。数组显然不能小写。
values[row][0]
将返回单元格中的值。您可以通过将字符串与空字符串(values[row][0]+"")
连接来将值强制转换为字符串(以确保它始终是字符串),然后您可以应用通常的内置JS toLowerCase()方法,就像这样:(values[row][0]+"").toLowerCase();
所以(values[row][0]+"").toLowerCase() !== data
应该达到你想要的效果。
答案 2 :(得分:0)
我用这个:)
function onEdit(spreadsheet) {
var spreadsheet = SpreadsheetApp.getActive();
var range = spreadsheet.getRange("F3:F");
var data = range.getValues();
for (var row = 0; row < data.length; row++) {
for (var col = 0; col < data[row].length; col++) {
data[row][col] = (data[row][col]).toString().replace(/á|à|ã|ä|A/gi, 'a');
data[row][col] = (data[row][col]).toString().toLowerCase();
}
}
range.setValues(data);
}