我的数据由单独的列上的日期和时间组成。我的问题是如何获取达到极限的数据。
数据链接(谷歌表格):https://docs.google.com/spreadsheets/d/1lEfzjG1zzJVPMN8r-OpeZm6q9_IqSwk9DNCEY-q7ozY/edit?usp=sharing
我已在 Google Apps 脚本中尝试过此代码:
Google 脚本:
function timeCheck(){
var lookup = "August 28, 2019";
var ss = SpreadsheetApp.openByUrl(url);
var ws = ss.getSheetByName("Test_Data");
var myData = ws.getRange(2, 7, ws.getLastRow()-1, 2).getValues();
myData.forEach(function(row){
var lookup = "August 28, 2019"; //this is just a sample search data
var dte = new Date (row[0]);
var form = Utilities.formatDate(dte, 'GMT+8', 'MMMM dd, yyyy');
if(form == lookup){
Logger.log(row)
}
});
}
然后我得到以下日志:
[19-08-26 15:14:04:073 HKT] [Wed Aug 28 00:00:00 GMT+08:00 2019, 8:00 AM]
[19-08-26 15:14:04:073 HKT] [Wed Aug 28 00:00:00 GMT+08:00 2019, 9:00 AM]
[19-08-26 15:14:04:074 HKT] [Wed Aug 28 00:00:00 GMT+08:00 2019, 10:00 AM]
[19-08-26 15:14:04:075 HKT] [Wed Aug 28 00:00:00 GMT+08:00 2019, 8:00 AM]
[19-08-26 15:14:04:076 HKT] [Wed Aug 28 00:00:00 GMT+08:00 2019, 8:00 AM]
[19-08-26 15:14:04:077 HKT] [Wed Aug 28 00:00:00 GMT+08:00 2019, 9:00 AM]
[19-08-26 15:14:04:077 HKT] [Wed Aug 28 00:00:00 GMT+08:00 2019, 9:00 AM]
我现在的问题是怎么获取不到row[1]
中的值,也就是时间,达到了3次。在上面的示例中,我想获取 8:00 AM
和 9:00 AM
,因为它们是达到限制的值。
预先感谢您的帮助。我将非常感激。
最佳答案
我通过使用 push
方法和我在此处的一个问题中从@Christopher Bradley 获得的代码解决了我的问题。
这是我使用的代码的更新:
function timeCheck(){
var ss = SpreadsheetApp.openByUrl(url);
var ws = ss.getSheetByName("Test_Data");
var myData = ws.getRange(2, 7, ws.getLastRow()-1, 2).getValues();
var arrData = [];
myData.forEach(function(row){
var lookup = "Aug 28, 2019";
var dte = new Date (row[0]);
var form = Utilities.formatDate(dte, 'GMT+8', 'MMM dd, yyyy');
if(form == lookup){
arrData.push(row[1]);
}
});
var myVals = arrData;
var CheckLimitReached = function (V)
{
var records= {};
V.forEach(function (x) { records[x] = (records[x] || 0) + 1; });
var limit_reached = Object.keys(records).filter(function (R) {
return records[R] >= 3;});
return limit_reached;
};
var dataDisable = CheckLimitReached(myVals);
Logger.log(dataDisable);
}
关于javascript - 使用 google 脚本检查 forEach 是否达到限制结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57653378/