Write a function that transforms some employee data from one format to another.
The argument will look something like this:
[
[
['firstName', 'Joe'], ['lastName', 'Blow'], ['age', 42], ['role', 'clerk']
],
[
['firstName', 'Mary'], ['lastName', 'Jenkins'], ['age', 36], ['role', 'manager']
]
]
Given that input, the return value should look like this:
[ {firstName: 'Joe', lastName: 'Blow', age: 42, role: 'clerk'},
{firstName: 'Mary', lastName: 'Jenkins', age: 36, role:'manager'}]
I know this isn't the most efficient code but I still cannot get the new array to contain each iteration of the object. I also don't necessarily want a new array. How do I take what is logged as "person" and put it into an array such as the example's output.
function keyValue (){
var arr3 = [];
var person = {};
for (var i = 0; i < arr.length; i++){
for (var j = 0; j < arr[i].length; j++){
var key = arr[i][j][0];
var val = arr[i][j][1];
person[key] = val;
}
arr3[i] = person;
}
console.log(person) // desired output, but not returned
return arr3; // either only one instance "joe" or 2
// "marys" depending on where I return
}
keyValue(arr)
//console.logged()
{ firstName: 'Joe', lastName: 'Blow', age: 42, role: 'clerk' }
{ firstName: 'Mary',
lastName: 'Jenkins',
age: 36,
role: 'manager' }
//returned
=> [ { firstName: 'Mary',
lastName: 'Jenkins',
age: 36,
role: 'manager' },
{ firstName: 'Mary',
lastName: 'Jenkins',
age: 36,
role: 'manager' } ]