Cont'd Day1, completed destructuring and spreading exercises, will merge to master and start functional programming

pull/260/head
Jaspreet 3 years ago
parent f6af30b620
commit db61f5b63b

@ -0,0 +1,38 @@
/*Create a function called getPersonInfo. The getPersonInfo function
takes an object parameter. The structure of the object and the output
of the function is given below. Try to use both a regular way and destructuring
and compare the cleanness of the code. If you want to compare your solution
with my solution, check this link.*/
/*
Asabeneh Yetayeh lives in Finland. He is 250 years old. He is an Instructor and Developer.
He teaches HTML, CSS, JavaScript, React, Redux, Node, MongoDB, Python and D3.js. He speaks
Amharic, English and a little bit of Suomi(Finnish)
*/
const person = {
firstName: 'Asabeneh',
lastName: 'Yetayeh',
age: 250,
country: 'Finland',
job: 'Instructor and Developer',
skills: [
'HTML',
'CSS',
'JavaScript',
'React',
'Redux',
'Node',
'MongoDB',
'Python',
'D3.js',
],
languages: ['Amharic', 'English', 'Suomi(Finnish)'],
}
let getPersonInfo = ({firstName, lastName,age,country,job,skills,languages}) =>{
console.log(`${firstName} ${lastName} live in ${country}. He is ${age} years old. He is an ${job}.
He teaches ${skills[0]}, ${skills[1]}, ${skills[2]}, ${skills[3]}, ${skills[4]}, ${skills[5]}, ${skills[6]}, ${skills[7]}, and ${skills[8]}.
He speaks ${languages[0]}, ${languages[1]} and a little bit of ${languages[2]}.`);
}
getPersonInfo(person);

@ -0,0 +1,80 @@
// setInterval
// - In JavaScript, we use setInterval higher order function to do some
// activity continuously with in some interval of time. The setInterval
// global method take a callback function and a duration as a parameter.
// The duration is in milliseconds and the callback will be always called in that interval of time.
let sayHello = ()=>{
console.log('Hello');
}
setInterval(sayHello, 2000); // it prints hello every 2 seconds
// setTimeout
// In JavaScript, we use setTimeout higher order function to execute some
// action at some time in the future. The setTimeout global method take a
// callback function and a duration as a parameter. The duration is in milliseconds
// and the callback wait for that amount of time.
let sayGoodBye = ()=>{
console.log('Goodbye');
}
setTimeout(sayGoodBye, 3000);
// Destructuring when we loop through arrays
const countries = [
['Finland', 'Helsinki'],
['Sweden', 'Stockholm'],
['Norway', 'Oslo'],
];
for (const [country, city] of countries) {
console.log(country, city);
}
// Destructuring during loop through an array
const languages = [
{ lang: 'English', count: 91 },
{ lang: 'French', count: 45 },
{ lang: 'Arabic', count: 25 },
{ lang: 'Spanish', count: 24 },
{ lang: 'Russian', count: 9 },
{ lang: 'Portuguese', count: 9 },
{ lang: 'Dutch', count: 8 },
{ lang: 'German', count: 7 },
{ lang: 'Chinese', count: 5 },
{ lang: 'Swahili', count: 4 },
{ lang: 'Serbian', count: 4 },
]
for (const { lang, count } of languages) {
console.log(`The ${lang} is spoken in ${count} countries.`)
}
// Destructuring function parameter
const rectangle = { width: 20, height: 10 };
const calcualteArea = ({ width, height }) => width * height;
const calculatePerimeter = ({ width, height } = 2 * (width + height));
// Spread operator to copy object
// We can copy an object using a spread operator
const user = {
name: 'Asabeneh',
title: 'Programmer',
country: 'Finland',
city: 'Helsinki',
}
const copiedUser = { ...user }
console.log(copiedUser)
// Modifying or changing the object while copying
const users = {
name: 'Asabeneh',
title: 'Programmer',
country: 'Finland',
city: 'Helsinki',
}
const copiedUsers = { ...user, title: 'instructor' }
console.log(copiedUser)
// {name: "Asabeneh", title: "instructor", country: "Finland", city: "Helsinki"}
Loading…
Cancel
Save