JSFiddle - React, Tailwind, and code Playground

HTML

See js console

JavaScript

console.group('clone');
a=[{x:1,y:2},{x:2,y:4}];
b = _.clone(a);
console.log( 'diff', _.difference(b,a) );  // no difference, call by reference
b[0].x=5;
console.log( 'a[0]', a[0] );  // a[0] changes with b[0]
console.log( 'b[0]', b[0] );
console.log( 'diff', _.difference(b,a) );  // no difference
console.groupEnd('clone');

console.group('map');
a=[{x:1,y:2},{x:2,y:4}];
b = _.map( a, _.clone );  // http://stackoverflow.com/questions/21003059/how-do-you-clone-an-array-of-objects-using-underscore
console.log( 'diff', _.difference(b,a) );  // all different
b[0].x=5;
console.log( 'a[0]', a[0] );  // a[0] does not change with b[0]
console.log( 'b[0]', b[0] );
console.log( 'diff', _.difference(b,a) );  // all different
console.groupEnd('map');