我有一個谷歌表格電子表格,上面有一堆股票資料和刻度/符號。問題是我需要過濾一個特定的符號(并做大約 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};
}
但我知道這是不可能的(我嘗試了變化,但沒有快樂)。據說有人發布了,您可以放入其他引數,但根據檔案,這是不可能的(我已經嘗試過他們的代碼 - 它沒有用)
任何解決方法/黑客的想法?
uj5u.com熱心網友回復:
我相信你的目標如下。
- 您要檢索
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]));
參考:
- 篩選()
- 包括()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/412577.html
標籤:
