【问题标题】:How to use array.filter + map on an array如何在数组上使用 array.filter + map
【发布时间】:2017-08-28 16:06:21
【问题描述】:

我正在尝试过滤此数组以获取 id 并将字符串转换为数字。我想使用过滤器和地图?想知道如何使其尽可能清晰。

var pets = [
  { id: '1', name: 'rupert', readyForHome: 'No', age: 12, personality: ['friendly', 'lazy', 'loving']},
  { id: '2', name: 'mrs fluffy', readyForHome: 'Yes', age: 2, personality: ['affectionate', 'playful', 'shy']},
  { id: '3', name: 'tabitha', readyForHome: 'Yes', age: 4, personality: ['aggressive', 'independent']},
  { id: '4', name: 'lily', readyForHome: 'No', age: 8, personality: ['friendly', 'playful', 'mischievous']},
];

【问题讨论】:

标签: javascript arrays filter array.prototype.map


【解决方案1】:

您只需要map 就可以将 id 数组作为数字:

pets = pets.map(function(pet) {
  return Number(pet.id);
});

var pets=[{id:"1",name:"rupert",readyForHome:"No",age:12,personality:["friendly","lazy","loving"]},{id:"2",name:"mrs fluffy",readyForHome:"Yes",age:2,personality:["affectionate","playful","shy"]},{id:"3",name:"tabitha",readyForHome:"Yes",age:4,personality:["aggressive","independent"]},{id:"4",name:"lily",readyForHome:"No",age:8,personality:["friendly","playful","mischievous"]}];

pets = pets.map(function(pet) {
  return Number(pet.id);
});

console.log(pets);

【讨论】:

  • 感谢您的帮助,但我的返回“对象”11 次。这是我的代码
  • function petSorter (pet) { cats = cats.map(function(pet) { return Number(pet.id); }); } console.log(cats);
  • @JacobJabocJones,查看更完整的代码示例可能会有所帮助,如果有帮助,您可以使用 JSFiddle
  • 以前从未使用过 JSFiddle。我怎么用它给你看?
  • 啊,好的。我不知道那是完整的代码。无论如何,JSFiddle 允许您输入您的 JS、CSS 和 HTML,然后单击左上角的保存,完成后,您可以复制粘贴该 url 并将其提供到您想要的任何地方。
【解决方案2】:
var petIds = pets.map(function (pet) {
    petId = parseInt(pet.id);
    return petId;
});

【讨论】:

    猜你喜欢
    • 2020-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-02
    • 2019-09-17
    • 2019-09-13
    • 1970-01-01
    相关资源
    最近更新 更多