Find the last Sunday of each month: Difference between revisions
→Functional (ES 5)
m (formatting of task description) |
|||
Line 1,440:
<lang JavaScript>(function () {
// lastSundaysOfYear :: Int -> [Date]
function lastSundaysOfYear(y) {
return
0 === y % 4 && 0 !== y % 100 || 0 === y % 400 ? 29 : 28,
31, 30, 31, 30, 31, 31, 30, 31, 30, 31▼
.map(function (d, m) {
var dte = new Date(Date.UTC(y, m, d, 0, 0, 0, 0));
▲ ));
return new Date(Date.UTC(
y, m, dte.getDate() - dte.getDay(), 0, 0, 0, 0
dte.getDate() - dte.getDay(),▼
0, 0, 0, 0▼
));
});
}
return [▼
▲ 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
// TESTING▼
function zipWith(f, xs, ys) {▼
return xs.length === ys.length ? (▼
xs.map(function (x, i) {▼
▲ })
//
// displayed in parallel
▲ return function zipWith(f, xs, ys) {
function (d1, d2) {
return [d1, d2].map(function (dte) {
return dte.toISOString()
.substr(0, 10);
})
.join(
},
lastSundaysOfYear(2013),
lastSundaysOfYear(2016)
)
.join(
})();</lang>
|