如何在数组上使用 array.filter + map

How to use array.filter + map on an array

我正在尝试过滤此数组以获取 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']},
];

您只需要 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);

var petIds = pets.map(function (pet) {
    petId = parseInt(pet.id);
    return petId;
});