Day of the week: Difference between revisions

Content deleted Content added
m →‎Without external modules: removed needless variable
Hout (talk | contribs)
Line 1,535: Line 1,535:
=={{header|JavaScript}}==
=={{header|JavaScript}}==


===Iterative===
===ES5===
====Iteration====

<lang javascript>for (var year = 2008; year <= 2121; year++){
<lang javascript>for (var year = 2008; year <= 2121; year++){
var xmas = new Date(year, 11, 25)
var xmas = new Date(year, 11, 25)
Line 1,561: Line 1,561:
2118</pre>
2118</pre>


====Functional composition====

===Functional (ES5)===


<lang JavaScript>(function () {
<lang JavaScript>(function () {
Line 1,589: Line 1,588:
<pre>[2011, 2016, 2022, 2033, 2039, 2044, 2050, 2061, 2067,
<pre>[2011, 2016, 2022, 2033, 2039, 2044, 2050, 2061, 2067,
2072, 2078, 2089, 2095, 2101, 2107, 2112, 2118]</pre>
2072, 2078, 2089, 2095, 2101, 2107, 2112, 2118]</pre>

===ES6===

<lang JavaScript>(() => {
'use strict';
// xmasIsSunday :: Integer -> Bool
const xmasIsSunday = year => (new Date(year, 11, 25))
.getDay() === 0;
// range :: Int -> Int -> [Int]
const range = (m, n) =>
Array.from({
length: Math.floor(n - m) + 1
}, (_, i) => m + i);
return range(2008, 2121)
.filter(xmasIsSunday);
})();</lang>

{{Out}}
<lang JavaScript>[2011, 2016, 2022, 2033, 2039, 2044, 2050, 2061, 2067, 2072, 2078, 2089, 2095, 2101, 2107, 2112, 2118]</lang>


=={{header|jq}}==
=={{header|jq}}==