const p = console.log.bind(console);


///////////////////////////////////////////////////////////////////////////////
let nums = [3, 12, 21, 27, 44];

let odds = nums.filter(num => num % 2 != 0);
p(odds);
// → [ 3, 21, 27 ]

let evens = nums.filter(num => num % 2 == 0);
p(evens);
// [ 12, 44 ]


////////////////////////////////////////////////////////////////////////////////
// filter urls with a certain characteristic ///////////////////////////////////
/*
<ul>
  <li><a href="https://theforce.io">Home page</a></li>
  <li><a href="http://theforce.io">Home page</a></li>
  <li><a href="https://theforce.io/about">About</a></li>
  <li><a href="http://theforce.io/about">About</a></li>
</ul>
*/

//
// querySelectorAll returns a node list, not an array. We need an array
// so we can use `filter`. Therefore, we use this little rest parameter
// trick so `all_links` is an array.
//
const all_links = [...document.querySelectorAll('.example-links a')];

//
// Let's filter out (exclude) non-https links.
//
const https_only = all_links.filter(link => /^https:/.test(link.href));
p(https_only.length);
// → 2
p(https_only[0].href);
// → "https://theforce.io/"
p(https_only[1].href);
// → "https://theforce.io/about"