首页 > 解决方案 > Vue,有条件将值放入数组

问题描述

我在我的 Vue 站点中有一个调用,它返回一个包含日期的 response.data 对象:

中的对象response.data如下所示:

response.data = {available_at: '2019-08-12', title: 'Test'}

我目前正在获取它并构建一个名为的数组datesthis.dates它可以正常工作。但是,我想知道是否有一种方法可以让我说if response.data.available_at = current_date然后放入this.dateselse放入this.pastDates

有没有办法修改它来做到这一点?

fetch() {
    axios.get('/items/')
    .then(response => {
      // handle success
      console.log(response.data)
      this.dates = response.data
    })
    .finally(function() {})
}

更新:response.data(对象列表)

(51) [{…}, {…}, {…}, {…},...]
0:
available_at: "2019-09-16"
title: "2"

标签: javascriptvue.js

解决方案


日期是字符串吗?也许你可以使用这样的东西:

if (response.data.available_at === new Date().toISOString().slice(0, 10)) {
//add to this.dates
} else {
// add to this.pastDates
}

好的,response.data 是这些对象的列表。所以它会是这样的:

response.data.forEach(item => {
    if (item.available_at === new Date().toISOString().slice(0, 10)) {
        this.dates.push(item);
    } else {
        this.pastDates.push(item);
    }
});

推荐阅读