我希望用日期属性过滤一个数组,即使我得到相同的相等值,也不会创建新数组。
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();
});
Array.prototype.filter()
需要一个布尔值来确定是否将元素包含在过滤后的数组中。
你必须return过滤器回调的比较结果。
...
return newDepartDate.getDate() === data.getDate();
...
使用 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();
});