URL: https://www.progressiverobot.com/js-object-array-destructuring-es2015/

With ES6 / ES2015, you can now extract data from arrays and objects with more ease and less syntactic clutter. See how it's done with the following snippet examples:

Array Destructuring

array illustration for: Array Destructuring

Automatically create variables who's values correspond to items in an array:

				
					
const names = ['Bob', 'Fred', 'Benedict'];



const [cat, dog, alligator] = names;



console.log(cat); // Bob

console.log(dog); // Fred

console.log(alligator); // Benedict

				
			

You can also skip items by using comas without any names for the variable names:

				
					
const names = ['Bob', 'Fred', 'Benedict'];



const [cat, , alligator] = names;



console.log(cat); // Bob

console.log(alligator); // Benedict

				
			

And you can destructure part of the array, then put the rest in a new array:

				
					
const names = ['Bob', 'Fred', 'Benedict'];



const [cat, ...rest] = names;



console.log(cat); // Bob

console.log(rest); // ["Fred", "Benedict"]

				
			

Object Destructuring

Object destructuring is a bit different because keys are not necessarily in a specific order, so the new variables need to have matching names with the object's keys:

				
					
const names = {cat: 'Bob', dog: 'Fred', alligator: 'Benedict'};



const {cat, dog, alligator} = names;



console.log(cat); // Bob

console.log(dog); // Fred

console.log(alligator); // Benedict

				
			

There's a way around matching names however, here's how to give new names to the variables:

				
					
const names = {cat: 'Bob', dog: 'Fred', alligator: 'Benedict'};



const {cat: newCat, dog: newDog, alligator: newAlligator} = names;



console.log(newCat); // Bob

console.log(newDog); // Fred

console.log(newAlligator); // Benedict