gpt4 book ai didi

javascript - array.filter 不返回数组

转载 作者:行者123 更新时间:2023-11-30 15:49:46 25 4
gpt4 key购买 nike

我正在尝试使用日期列搜索大量数据,以返回具有我需要的日期的帐户数组。我无法让数组填充任何数据。我错过了什么?

var accounts = accountInfo.getRange('A2:AJ').getValues();
var maxRow = accountInfo.getMaxRows();
var today = new Date();
today.setHours(0,0,0,0);
var todayPlus5 = addDays(today, 5);

function reviewPriorityFilter(){
var filtered = accounts.filter(rowNumber2);
accounts = filtered;
Logger.log(filtered);
}

function rowNumber2(value){
var fix = new Date(value[15]);
fix.setHours(0,0,0,0);
return fix === todayPlus5;
}

function addDays(date, days){
var result = new Date(date);
result.setDate(result.getDate() + days);
return result;
}

最佳答案

您不能使用 === 来比较新的对象实例。使用 new 创建的两个对象永远不会 === 彼此,即使它们具有相同的“值”,例如相同的内部日期。 This question显示检查精确日期匹配的正确方法:

date1.getTime() === date2.getTime()

所以你的 rowNumber2 过滤器应该返回更像这样的东西:

return fix.getTime() === todayPlus5.getTime();

请记住,这只有在时间完全匹配时才有效。如果筛选器仍显示空值,请记录两个日期以查看它们是否真正保持完全相同的时间。

关于javascript - array.filter 不返回数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39583961/

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