Skip to content

Instantly share code, notes, and snippets.

@deadkff01
Last active June 3, 2019 03:13
Show Gist options
  • Save deadkff01/7335477e6b2203ee6a44e4da63054aba to your computer and use it in GitHub Desktop.
Save deadkff01/7335477e6b2203ee6a44e4da63054aba to your computer and use it in GitHub Desktop.
JS tricks
const getUser = emailIncluded => ({
name: 'dead',
surname: 'kff01',
...(emailIncluded ? { email : '[email protected]' } : null)
})
console.log(getUser(true))
// destructuring
const rawUser = {
name: 'dead',
surname: 'kff',
email: '[email protected]',
displayName: 'SuperCoolDead',
joined: '2016-05-05',
image: 'path-to-the-image',
followers: 45
}
let user = {}, userDetails = {};
({ name: user.name, surname: user.surname, ...userDetails } = rawUser)
console.log(user)
console.log(userDetails)
// merging an array of objects into one
const cities = [
{ name: 'Paris', visited: 'no' },
{ name: 'Lyon', visited: 'no' },
{ name: 'Marseille', visited: 'yes' },
{ name: 'Rome', visited: 'yes' },
{ name: 'Milan', visited: 'no' },
{ name: 'Palermo', visited: 'yes' },
{ name: 'Genoa', visited: 'yes' },
{ name: 'Berlin', visited: 'no' },
{ name: 'Hamburg', visited: 'yes' },
{ name: 'New York', visited: 'yes' }
];
const result = cities.reduce((accumulator, item) => ({
...accumulator,
[item.name]: item.visited
}), {})
/*
const cityNames = Array.from(cities, ({ name }) => name);
const result = cities.reduce((accumulator, item) => {
accumulator[item.name] = item.visited;
return accumulator;
}, {});
*/
console.log(result);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment