javascript clone array of objects

JavaScript
const numbers = [1, [2], [3, [4]], 5];

// Using JavaScript
JSON.parse(JSON.stringify(numbers));

// Using Lodash
_.cloneDeep(numbers);
var ar = ["apple","banana","canaple"];
var bar = Array.from(ar);
alert(bar[1]); // alerts 'banana'

// Notes: this is for in In ES6, works for an object of arrays too! 
// (May not be applicable for deep-copy situations?)var sheep=[
{"height":20,"name":"Melvin"},
{"height":18,"name":"Betsy"}
];
var clonedSheep=JSON.parse(JSON.stringify(sheep)); //clone array of objects
//note: cloning like this will not work with some complex objects such as:  Date(), undefined, Infinity
// For complex objects try: lodash's cloneDeep() method or angularJS angular.copy() method//returns a copy of the object
function clone(obj) {
    if (null == obj || "object" != typeof obj) return obj;
    var copy = obj.constructor();
    for (var attr in obj) {
        if (obj.hasOwnProperty(attr)) copy[attr] = obj[attr];
    }
    return copy;
}
Source

Also in JavaScript: