2017-07-21 1 views
0

moment()を使用してそれぞれ7日間含まれる週の配列を取得する必要がありますが、オブジェクトを配列にプッシュすると、配列全体が置き換えられます。momentjsの週の配列

const start = moment().clone().startOf('month').startOf('week'); 
const end = start.clone().add(6, 'week').subtract(1, 'day'); 

const weeks = []; 
let days = []; 

for (let day = start; day.isSameOrBefore(end); day.add(1, 'day')) { 
    days.push({ 
     date: day.date() 
    }); 

    if (day.clone().endOf('isoWeek')) { 
     weeks.push(days); 
     days = []; 
    } 
} 

console.log(weeks); 

weeks.lengthは6でなければなりませんが、それは42

例codepenです:

https://codepen.io/anon/pen/RZbKBR?editors=1111

答えて

1

問題ではなく、そうブール値を返すの週の終わりまで瞬間を変異させるmoment().endOf('isoWeek')ましたday.clone().endOf('isoWeek').diff(day, 'days') === 0作品

関連する問題