1const numbers = [1, [2], [3, [4]], 5];
2
3// Using JavaScript
4JSON.parse(JSON.stringify(numbers));
5
6// Using Lodash
7_.cloneDeep(numbers);
8
1var sheep=[
2{"height":20,"name":"Melvin"},
3{"height":18,"name":"Betsy"}
4];
5var clonedSheep=JSON.parse(JSON.stringify(sheep)); //clone array of objects
6//note: cloning like this will not work with some complex objects such as: Date(), undefined, Infinity
7// For complex objects try: lodash's cloneDeep() method or angularJS angular.copy() method
1var ar = ["apple","banana","canaple"];
2var bar = Array.from(ar);
3alert(bar[1]); // alerts 'banana'
4
5// Notes: this is for in In ES6, works for an object of arrays too!
6// (May not be applicable for deep-copy situations?)
1//returns a copy of the object
2function clone(obj) {
3 if (null == obj || "object" != typeof obj) return obj;
4 var copy = obj.constructor();
5 for (var attr in obj) {
6 if (obj.hasOwnProperty(attr)) copy[attr] = obj[attr];
7 }
8 return copy;
9}