有什么方法可以使用应用程序脚本javascript通过附加参数进行筛选吗



我有一个Google Sheets电子表格,上面有一堆股票数据和记号/符号。问题是,我需要为一个特定的符号进行过滤(大约过滤90次(,不希望每个记号/符号都有90个不同的过滤函数,但我看不出有什么方法可以创建一个过滤函数并将数组以外的东西传递给它。现在我有:

let sheet = combinedSheet.getRange("A2:G3945").getValues();
let sheetFiltered = sheet.filter(filterByTickApple);
let filterByTickApple = function(item) {
if (item[2] === "AAPL") {return true} else {return false};
}

基本上,你可以看到我必须编写90个单独的函数。我想做的是这样的事情:

let sheetFiltered = sheet.filter(filterByTick,"AAPL");
let filterByTick = function(item, tick) {
if (item[2] === tick) {return true} else {return false};
}

但我知道这是不可能的(我尝试过变体,但没有乐趣(。其他人发布了这篇文章,据说你可以加入其他论点,但根据文档,这是不可能的(我已经尝试了他们的代码——它不起作用(

有解决方法/破解的想法吗?

我相信您的目标如下。

  • 您想要检索包括AAPL和列"中的其他值的行;C">

虽然我不确定我是否能正确理解你的目标,但如果我的理解是正确的,下面的修改如何?

修改的脚本:

var values = ["AAPL","###",,,]; // Please set the values you want to check.
let sheet = combinedSheet.getRange("A2:G3945").getValues();
let sheetFiltered = sheet.filter(e => values.includes(e[2]));

参考文献:

  • 过滤器((
  • includes((

最新更新