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"