Javascript Google Sheets脚本按工作表名称筛选
我需要一份包含特定单词的表单列表。例如,我有4张纸,大树,小树,大房子,小房子,我只需要得到包含单词“树”的纸。我试着使用indexOf函数,但没用。我是新手,任何帮助我都将不胜感激。这是我迄今为止尝试过的,但它不起作用Javascript Google Sheets脚本按工作表名称筛选,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我需要一份包含特定单词的表单列表。例如,我有4张纸,大树,小树,大房子,小房子,我只需要得到包含单词“树”的纸。我试着使用indexOf函数,但没用。我是新手,任何帮助我都将不胜感激。这是我迄今为止尝试过的,但它不起作用 const ss = SpreadsheetApp.getActiveSpreadsheet(); const allSheets = ss.getSheets(); const neededSheets= ["tree"]; const filte
const ss = SpreadsheetApp.getActiveSpreadsheet();
const allSheets = ss.getSheets();
const neededSheets= ["tree"];
const filteredListOfSheets = allSheets.filter(s=> neededSheets.lastIndexOf(s.getSheetName()) == 0);
解决方案:
这就是您正在寻找的:
function myFunction() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const allSheets = ss.getSheets();
const allSheets_names=allSheets.map(sheet=>sheet.getSheetName())
const neededSheets= ["tree"];
const filteredListOfSheetsNames = []
neededSheets.forEach(ns =>
allSheets_names.forEach( (as,index) =>
{if (as.indexOf(ns)>-1){filteredListOfSheetsNames.push(as)}}))
const filteredListOfSheets = filteredListOfSheetsNames.map(name =>ss.getSheetByName(name))
}
说明:
包含您需要的工作表名称 正在查找并filteredListOfSheetsNames
包含该表 您正在查找的对象筛选列表表
- 因此,您可以使用
的元素 应用工作表操作,例如,filteredListOfSheets
filteredListOfSheets[0]。getSheetName()
- 此外,代码是灵活的。也就是说,你可以有更多的项目
在
数组中:neededSheets
const neededSheets=[“tree”,“house”]代码>