-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathchangeMe.js
38 lines (34 loc) · 1.55 KB
/
changeMe.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*
Diberikan sebuah function changeMe(arr) yang menerima satu parameter berupa array multidimensi dimana array tersebut berisi value (pasti berurut dari kiri ke kanan) First Name, Last Name, Gender dan Birth Year . Fungsi ini akan menampilkan object literal yang memiliki property firstName, lastName, gender dan age. Nilai age didapatkan dari tahun sekarang dikurang tahun lahir. Jika tahun lahir tidak diisi atau tahun lahir lebih besar dibandingkan tahun sekarang maka age akan berisi 'Invalid Birth Year'
Contoh jika arr inputan adalah [['Platinum', 'Fox', 'female', 1995], ['John', 'Doe', 'male', 2000]] maka output:
Platinum Fox: { firstName: 'Platinum', lastName: 'Fox', gender: 'female', age: 23 }
John Doe: { firstName: 'John', lastName: 'Doe', gender: 'male', age: 18 }
*/
function changeMe(arr) {
if (arr[0] === undefined){
console.log ('\"\"')
} else {
for (var i = 0; i < arr.length; i++){
var person = {
firstName: arr[i][0],
lastName: arr[i][1],
gender: arr[i][2],
age: arr[i][3] > 2018 || arr[i][3] === undefined ? 'Invalid Birth Year' : 2018 - arr[i][3]
}
console.log (i+1+'. '+person.firstName+' '+person.lastName+':')
console.log (person)
}
}
}
// TEST CASES
changeMe([['Christ', 'Evans', 'Male', 1982], ['Robert', 'Downey', 'Male']]); // 1. Christ Evans:
// { firstName: 'Christ',
// lastName: 'Evans',
// gender: 'Male',
// age: 36 }
// 2. Robert Downey:
// { firstName: 'Robert',
// lastName: 'Downey',
// gender: 'Male',
// age: 'Invalid Birth Year' }
changeMe([]); // ""