如何使用 getDate() 过滤数组?

问题描述 投票:0回答:2

我希望用日期属性过滤一个数组,即使我得到相同的相等值,也不会创建新数组。

let array = [...]

state.newArray = array.filter((f) => { 
  let newDepartDate = new Date(f.depart_date); 
  console.log( newDepartDate.getDate());   // returns 17 
  console.log( data.getDate());   // returns 17 
  newDepartDate.getDate() === data.getDate(); 
});

javascript arrays date filter getdate
2个回答
2
投票

Array.prototype.filter()
需要一个布尔值来确定是否将元素包含在过滤后的数组中。

你必须return过滤器回调的比较结果。

...
return newDepartDate.getDate() === data.getDate();
...

1
投票

使用 array.filter 时,如果你的函数不仅仅是一个单一的表达式,你需要写返回值。尝试在最后添加 return:

let array = [...]

state.newArray = array.filter((f) => { 
    let newDepartDate = new Date(f.depart_date); 
    console.log( newDepartDate.getDate());   // returns 17 
    console.log( data.getDate());   // returns 17 
    return newDepartDate.getDate() === data.getDate(); 
});
© www.soinside.com 2019 - 2024. All rights reserved.