Javascript 比较两个日期时出现意外结果
我正在比较if块中的两个日期:Javascript 比较两个日期时出现意外结果,javascript,google-apps-script,Javascript,Google Apps Script,我正在比较if块中的两个日期: if(columnsData[i][0] == selectDate){ todayGeneralCount = todayGeneralCount +1; for (var j=0; j<countingByTypeArrays.length; j++) { if(countingByTypeArrays[j][0] == columnsData[i][0]){
if(columnsData[i][0] == selectDate){
todayGeneralCount = todayGeneralCount +1;
for (var j=0; j<countingByTypeArrays.length; j++) {
if(countingByTypeArrays[j][0] == columnsData[i][0]){
countingByTypeArrays[j][1] == countingByTypeArrays[j][2] +1;
}
else {
countingByTypeArrays.push([columnsData[i][0], 1]);
}
}
}
if(columnsData[i][0]==selectDate){
todayGeneralCount=todayGeneralCount+1;
对于(var j=0;j一个对象永远不会与另一个对象()相同,即使它们包含相同的值,因此您必须比较其他对象,最简单的方法是使用getTime()
当您使用其他一些运算符时,例如
,谢谢,@adeneo,这是第二个错误!我将尝试您的解决方案!我遇到了这个错误类型错误:当我尝试列数据[I][0].getTime()时,在对象中找不到函数getTime。有什么建议吗?如果它没有getTime()
方法,它不是日期对象。但是instanceof Date
返回True
!这很奇怪?如果它是日期对象,它应该有一个getTime()
method,从一开始所有浏览器都支持它。另一个对象中的日期对象也不应该是问题?我唯一能做的就是测试它,它似乎可以工作->仅供参考:谢谢,@FelixKling,但我想知道是什么产生了这种行为,并使用这种格式(我从电子表格中获得)。
if(columnsData[i][0].getTime() == selectDate.getTime()){ ...
if(countingByTypeArrays[j][0] == columnsData[i][0]){
countingByTypeArrays[j][1] == countingByTypeArrays[j][2] +1;
}