Hi guys and sorry for my english. I have this array of objects and I need to get an input like:
{name: Karen, age: 12} -> Karen-12.
How can I do it?
This is the exercise:
function nicknameMap(p) {
}
const p = [
{ name: 'ninny', age: 19},
{ name: 'albert', age: 20},
{ name: 'daniel', age: 60},
{ name: 'bob', age: 20},
{ name: 'wilfred', age: 40},
{ name: 'rob', age: 22},
{ name: 'gary', age: 9},
{ name: 'robin', age: 19},
{ name: 'carl', age: 43 },
{ name: 'v', age: 82 }
];
const nicknames = nicknameMap(p);
console.log(p);
console.log(nicknames);```
CodePudding user response:
Use the .map() array method as follows:
function nicknameMap(p) {
return p.map(({name,age}) => `${name}-${age}`);
}
//output
//[
// "ninny-19",
// "albert-20",
// "daniel-60",
// "bob-20",
// .....
//]
function nicknameMap(p) {
return p.map(({name,age}) => `${name}-${age}`);
}
const p = [
{ name: 'ninny', age: 19},
{ name: 'albert', age: 20},
{ name: 'daniel', age: 60},
{ name: 'bob', age: 20},
{ name: 'wilfred', age: 40},
{ name: 'rob', age: 22},
{ name: 'gary', age: 9},
{ name: 'robin', age: 19},
{ name: 'carl', age: 43 },
{ name: 'v', age: 82 }
];
const nicknames = nicknameMap(p);
console.log(p);
console.log(nicknames);
CodePudding user response:
function nicknameMap(p) {
let result = Array();
p.forEach((n) => {
result.push(`${n.name}-${n.age}`);
});
return result;
}
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push
CodePudding user response:
It's best to learn by yourself, but I'm assuming you've had a crack at it and are asking because you have run out of options.
EDIT: amlxv solution is a more "Javascript" way of doing it, and is technically more correct than mine.
Below is a solution to your problem.
function nicknameMap(p) {
let arr = [];
for(let i = 0; i<p.length; i ){
arr.push(p[i].name "-" p[i].age);
}
return arr;
}
const p = [
{ name: 'ninny', age: 19},
{ name: 'albert', age: 20},
{ name: 'daniel', age: 60},
{ name: 'bob', age: 20},
{ name: 'wilfred', age: 40},
{ name: 'rob', age: 22},
{ name: 'gary', age: 9},
{ name: 'robin', age: 19},
{ name: 'carl', age: 43 },
{ name: 'v', age: 82 }
];
const nicknames = nicknameMap(p);
console.log(p);
console.log(nicknames);
