gpt4 book ai didi

javascript - 谷歌表格/Javascript : Unable to search for a specific string in an array using indexOf()

转载 作者:行者123 更新时间:2023-12-03 10:45:57 25 4
gpt4 key购买 nike

我正在尝试:

1) 在数组中查找包含关键字“First Name”的对象--不完全是--我可以从driveapp内部的文件列表中做到这一点,但它似乎在SpreadSheetApp内部不起作用。

2) 然后在我的电子表格中获取该对象的索引
--错误--“类型错误:无法在对象名字、姓氏中找到函数 hasNext,[...](第 9 行,文件“测试从数组中获取关键字”)”

3)将该索引(实际上是列号)分配给一个变量,例如firstNameCol,以便我可以访问它下面的列中的所有信息。
--错误-- 我似乎错误地将值分配给变量,并且完全不知道如何处理它。

我边走边学。那么,是否有更精通 javascript/googlescript 的人能指出我在第二项中可能犯的错误,以及可以使用哪些方法来完成第三项?

谢谢

function testSheet()
{
var keyword = "First Name"
var ssId="1kRdKGDQJXxCW2q1HPclWcpsOpI1BJPvAlMjvLSX6JvY";
var ss = SpreadsheetApp.openById(ssId);
var sheet = ss.getSheetByName("Sheet1");
var values = sheet.getSheetValues(3, 2, 1, 23);

for(;values.hasNext(); values.next())
{
if(values.indexOf(keyword) > -1 )

/* I would like to assign the index to a variable should the if
condition return true : var keywordIndex values.getIndex();*/

logger.log(values);
}
}

最佳答案

您将获得一行值:

var values = sheet.getSheetValues(3, 2, 1, 23);

从第 3 行第 2 列开始,获取一行值和 23 列值。

我猜您正在尝试检查所有列标题,并找到标题为“名字”的列?这就是为什么你只得到一行数据?

getSheetValues 方法返回一个二维数组。您需要从主数组中获取第二个维度。

以下是我对代码所做的更改:

function testSheet() {
var keyword = "First Name"
var ssId="Your SS ID";
var ss = SpreadsheetApp.openById(ssId);
var sheet = ss.getSheetByName("Form Responses 1");
var values = sheet.getSheetValues(3, 2, 1, 23);

var howManyColumns = values[0].length;
var indexOfString = 0;
var thisValue = "";

for(var i = 0;i < howManyColumns; i++) {
Logger.log('i: ' + i);

thisValue = values[0][i];
Logger.log('thisValue: ' + thisValue);

indexOfString = thisValue.indexOf(keyword);
Logger.log('indexOfString: ' + indexOfString);

if(indexOfString > -1 ) {

/* I would like to assign the index to a variable should the if
condition return true : var keywordIndex values.getIndex();*/
var thisIndexNumber = i;
Logger.log('this index: ' + thisIndexNumber);
}
}
}

关于javascript - 谷歌表格/Javascript : Unable to search for a specific string in an array using indexOf(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28571247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com