繁体   English   中英

我怎样才能用数组方法解决这个练习?

[英]how can i solve this exercise with array methods?

大家好,对不起我的英语。 我有这个对象数组,我需要得到这样的输入: {name: Karen, age: 12} -> Karen-12.

我该怎么做?

这是练习:

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);``` 

使用.map()数组方法如下:

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);

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

最好自学,但我假设您已经对此有所了解并提出要求,因为您已经没有选择了。

编辑:amlxv 解决方案是一种更“Javascript”的方式,并且在技术上比我的更正确。

以下是您的问题的解决方案。

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM