//3 persons && different fields
//like object
var a = {
name: "Vasiliy",
surname: "Vasiliev"
};
a.age = "30";
var b = {
name: "Anna",
surname: "Karenina"
};
b.fathername = "Arkadievna";
var c = {
name: "Pavlik",
surname: "Morozov"
};
c.sex = "male";
//using Map
var a = new Map([
['name', 'Vasiliy'],
['surname', 'Vasiliev']
]);
a.set('age', '30');
var b = new Map([
['name', 'Anna'],
['surname', 'Karenina']
]);
b.set('fathername', 'Arkadievna');
var c = new Map([
['name', 'Pavlik'],
['surname', 'Morozov']
]);
c.set('sex', 'male');
//fields check
//like object
// var a = {name: "Vasiliy", surname: "Vasiliev", age: "30"};
// if("age" in a){
// alert( key +' : '+ a.age);
// }else{};
var a = { name: "Vasiliy", surname: "Vasiliev", age: "30" };
for (key in a) {
if (key !== 'name' && key !== 'surname') {
alert(key);
}
}
var b = { name: "Anna", surname: "Karenina", fathername: "Arkadievna" };
for (key in b) {
if (key !== 'name' && key !== 'surname') {
alert(key);
}
}
var c = { name: "Pavlik", surname: "Morozov", sex: "male" };
for (key in c) {
if (key !== 'name' && key !== 'surname') {
alert(key);
}
}
//using Map
// var a = new Map([
// ['name', 'Vasiliy'],
// ['supname', 'Vasiliev'],
// ['age', '30']
// ]);
// var b = new Map([
// ['name', 'Anna'],
// ['supname', 'Karenina'],
// ['fathername', 'Arkadievna']
// ]);
// var c = new Map([
// ['name', 'Pavlik'],
// ['supname', 'Morozov'],
// ['sex', 'male']
// ]);
//array of persons
var persons = [];
persons.push(a);
persons.push(b);
persons.push(c);
console.log(persons);
// loop of persons
for (i = 0; i <= persons.length; i++) {
console.log(persons[i])
}
//loop of name and surname
for (i = 0; i <= persons.length; i++) {
for (key in persons[i]) {
if (key == 'name' || key == 'surname') {
console.log(key + ": " + persons[i][key]);
}
}
}
// loop of loop of values
for (i = 0; i <= persons.length; i++) {
for (key in persons[i]) {
if (key == 'name' || key == 'surname') {
console.log(persons[i][key]);
}
}
}
// fullName
for (i = 0; i <= persons.length; i++) {
for (key in persons[i]) {
if (key == 'fathername') {
persons[i].fullName = persons[i].name+' '+ persons[i].surname+" "+ persons[i].fathername;
console.log(persons[i])
}
}
}
// serialize
// persons = [
// a = {name: "Vasiliy", surname: "Vasiliev", age: "30"}
// b = {name: "Anna", surname: "Karenina", fathername: "Arkadievna", fullName: "Anna Karenina Arkadievna"}
// c = {name: "Pavlik", surname: "Morozov", sex: "male"}
// ]
var jsonPersons = JSON.stringify(persons);
console.log(jsonPersons);
// deserialize
var person = JSON.parse(jsonPersons);
console.log(persons);
// HTML
// var str = "
"
// for (i=0; i <= persons.length; i++){
// str += `${persons[i].name} | ${persons[i].surname} |
`
// }
// str += "
"
// console.log(str)
// document.write(str)// some strange mistake
var str = ""
for (let i=0;i${persons[i].name} | ${persons[i].surname} | `
}
str += "
"
console.log(str)
document.write(str)
//HTML optional fields
var table = ""
var tr = ""
var td = ""
for(let i = 0;i<=persons.length;i++){
tr += "" + td + "
"
td = ""
for(key in persons[i]){
td += "" + persons[i][key] + " | "
}
}
table+= tr+ "
"
document.write(table)
// HTML tr color
var table = ""
var tr = ""
var td = ""
for(let i = 0;i<=persons.length;i++){
if(i%2 !== 0){tr = tr + "" + td + "
"}
else{ tr += "" + td + "
"}
td = ""
for(key in persons[i]){
td += "" + persons[i][key] + " | "
}
}
table+=tr+ "
"
document.write(table)