You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
160 lines
3.5 KiB
160 lines
3.5 KiB
console.log(countries)
|
|
//alert('Open the console and check if the countries has been loaded')
|
|
|
|
|
|
//Exercises Level 1
|
|
|
|
//1. Change skills array to JSON using JSON.stringify()
|
|
const skills = ['HTML', 'CSS', 'JS', 'React','Node', 'Python']
|
|
let age = 250;
|
|
let isMarried = true
|
|
const student = {
|
|
firstName:'Asabeneh',
|
|
lastName:'Yetayehe',
|
|
age:250,
|
|
isMarried:true,
|
|
skills:['HTML', 'CSS', 'JS', 'React','Node', 'Python', ]
|
|
}
|
|
const txt = `{
|
|
"Alex": {
|
|
"email": "alex@alex.com",
|
|
"skills": [
|
|
"HTML",
|
|
"CSS",
|
|
"JavaScript"
|
|
],
|
|
"age": 20,
|
|
"isLoggedIn": false,
|
|
"points": 30
|
|
},
|
|
"Asab": {
|
|
"email": "asab@asab.com",
|
|
"skills": [
|
|
"HTML",
|
|
"CSS",
|
|
"JavaScript",
|
|
"Redux",
|
|
"MongoDB",
|
|
"Express",
|
|
"React",
|
|
"Node"
|
|
],
|
|
"age": 25,
|
|
"isLoggedIn": false,
|
|
"points": 50
|
|
},
|
|
"Brook": {
|
|
"email": "daniel@daniel.com",
|
|
"skills": [
|
|
"HTML",
|
|
"CSS",
|
|
"JavaScript",
|
|
"React",
|
|
"Redux"
|
|
],
|
|
"age": 30,
|
|
"isLoggedIn": true,
|
|
"points": 50
|
|
},
|
|
"Daniel": {
|
|
"email": "daniel@alex.com",
|
|
"skills": [
|
|
"HTML",
|
|
"CSS",
|
|
"JavaScript",
|
|
"Python"
|
|
],
|
|
"age": 20,
|
|
"isLoggedIn": false,
|
|
"points": 40
|
|
},
|
|
"John": {
|
|
"email": "john@john.com",
|
|
"skills": [
|
|
"HTML",
|
|
"CSS",
|
|
"JavaScript",
|
|
"React",
|
|
"Redux",
|
|
"Node.js"
|
|
],
|
|
"age": 20,
|
|
"isLoggedIn": true,
|
|
"points": 50
|
|
},
|
|
"Thomas": {
|
|
"email": "thomas@thomas.com",
|
|
"skills": [
|
|
"HTML",
|
|
"CSS",
|
|
"JavaScript",
|
|
"React"
|
|
],
|
|
"age": 20,
|
|
"isLoggedIn": false,
|
|
"points": 40
|
|
},
|
|
"Paul": {
|
|
"email": "paul@paul.com",
|
|
"skills": [
|
|
"HTML",
|
|
"CSS",
|
|
"JavaScript",
|
|
"MongoDB",
|
|
"Express",
|
|
"React",
|
|
"Node"
|
|
],
|
|
"age": 20,
|
|
"isLoggedIn": false,
|
|
"points": 40
|
|
}
|
|
}
|
|
`
|
|
|
|
let txtSkills = JSON.stringify(skills)
|
|
console.log(txtSkills) //["HTML","CSS","JS","React","Node","Python"]
|
|
|
|
//2. Stringify the age variable
|
|
let ageTxt = JSON.stringify(age)
|
|
console.log(ageTxt)
|
|
|
|
//3. Stringify the isMarried variable
|
|
isMarriedTxt = JSON.stringify(isMarried)
|
|
console.log(isMarriedTxt)
|
|
|
|
//4. Stringify the student object
|
|
let studentTxt = JSON.stringify(student)
|
|
console.log(student)
|
|
|
|
//Exercises Level 2
|
|
|
|
//1. Stringify the students object with only firstName, lastName and skills properties
|
|
let studentObject = JSON.stringify(student, ["firstName", "lastName", "skills"], 2)
|
|
console.log(studentObject,)
|
|
// Exercises Level 3
|
|
|
|
//1. parse the txt JSON to object
|
|
txtObject = JSON.parse(txt)
|
|
console.log(txtObject)
|
|
|
|
//2. Find the user who has many skills from the variable stored in txt.
|
|
const txtNames = Object.keys(txtObject);
|
|
console.log(txtNames)
|
|
|
|
const skillsNum = [];
|
|
for (let i = 0; i < txtNames.length; i++) {
|
|
skillsNum.push(txtObject[`${txtNames[i]}`].skills.length);
|
|
}
|
|
|
|
let max = Math.max(...skillsNum);
|
|
console.log(skillsNum)
|
|
for (const element of skillsNum) {
|
|
if (element === max) {
|
|
let name = txtNames[skillsNum.indexOf(element)]
|
|
console.log(`${name} ${max}`)
|
|
}
|
|
} // Asab 8
|
|
|
|
|