Я хочу напечатать один объект после упоминания имени. Но почему это становится дважды, и оба объекта печатаются?
Это вывод:
1. Christ Evans
{ firstName: 'Christ', lastName: 'Evans', gender: 'Male', age: 38 }
{
firstName: 'Robert',
lastName: 'Downey',
gender: 'Male',
age: 'Invalid Birth Year'
}
2. Robert Downey
{ firstName: 'Christ', lastName: 'Evans', gender: 'Male', age: 38 }
{
firstName: 'Robert',
lastName: 'Downey',
gender: 'Male',
age: 'Invalid Birth Year'
}
Я хочу напечатать только один раз и правильный объект, после упоминания имени.
Вот мой код:
function changeMe(arr) {
let person = [];
for(i=0;i<arr.length;i++){
person.push(`${arr[i][0]} ${arr[i][1]}`)
}
for(i=0;i<person.length;i++){
var urut = i+1;
console.log(`${urut}. ${person[i]}`);
for(j=0;j<arr.length;j++){
var obj = {}
if(arr[j].length==4 && 2020-arr[j][3]>0){
obj.firstName = arr[j][0]
obj.lastName = arr[j][1]
obj.gender = arr[j][2]
obj.age = 2020 - arr[j][3]
}else{
obj.firstName = arr[j][0]
obj.lastName = arr[j][1]
obj.gender = arr[j][2]
obj.age = 'Invalid Birth Year'
}
console.log(obj)
}
}
}
// TEST CASES
changeMe([['Christ', 'Evans', 'Male', 1982], ['Robert', 'Downey', 'Male']]);