我看到这个问题被问了很多,但我还不能解决,所以就去!我正在一个项目中显示订单清单。我希望能够按日期筛选订单。因此,我试图将每个过滤后的订单推入新数组,但这给了我以下错误:
“ TypeError:filteredOrders.push不是函数”
我试图调整我的推送语法,因为我以为我做错了,但无济于事。每个订单都作为对象返回。我如何将这些对象放入数组?我正在遍历的orders数组也是一个对象数组。这是我的代码,提供了更清晰的示例:
data: function () {
return {
isFilterShown: false,
IsOrderDetailShown: false,
selectedDateFrom: new Date(),
selectedDateTill: new Date(),
}
},
methods: {
applyFilter: function () {
let dateFrom = this.selectedDateFrom;
let dateTill = this.selectedDateTill;
let filteredOrders = Array;
this.orders.forEach(function (order) {
if (order.createdAt >= moment(dateFrom).format('DD-MM-Y') && order.createdAt <= moment(dateTill).format('DD-MM-Y')) {
console.log(order.createdAt, order);
return order;
}
filteredOrders.push(order);
})
// this.orders = this.filteredOrders;
this.isFilterShown = false;
},
Array
是一个函数,而不是一个空数组。这条线
let filteredOrders = Array;
不会创建一个空数组。它将功能分配Array
给filteredOrders
。你可能想要
let filteredOrders = [];
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句