JSFiddle - React, Tailwind, and code Playground

by Thomas Upton

HTML

<div id="root">
  <ul id="ul">
    <li id="li1">1</li>
    <li id="li2">2</li>
  </ul>
  <ol id="ol">
    <li id="li3">3</li>
    <li id="li4">4</li>
  </ol>
</div>

JavaScript

function sum(...args) {

	let s = 0;

	const adder = (initialSum, ...adderArgs) => adderArgs.reduce((s, i) => s + i, initialSum);
  
  s += adder(s, ...args);
  
  if (args.length > 1) {
  	return s;
  }
  
  return adder.bind(null, s);
}

console.log(sum(2, 3));
console.log(sum(2)(3));
console.log(sum(2, 3, 1));
console.log(sum(2)(3, 1));

function visitDom(element, cb) {
	cb(element);
  
  Array.prototype.slice.call(element.children, 0).forEach(c => visitDom(c, cb));
}

const printDom = e => console.log(e);

visitDom(document.getElementById('root'), printDom);

var length = 10;
function fn() {
	console.log(this.length);
}

var obj = {
  length: 5,
  method: function(fn) {
    fn();
    arguments[0]();
  }
};

obj.method(fn, 1);

var b = [undefined];
b[2] = 1;
console.log(b);
console.log(b.map(e => 7));