【发布时间】:2022-01-18 08:03:48
【问题描述】:
我需要找出这个数组中所有宠物的总年龄。我已经尝试过这段代码,但得到了一个 NaN 输出。我如何访问宠物的年龄以获得总和?
我尝试了这段代码,但得到了一个 NaN 输出。
const totalAgeAllPets = data.reduce((result, pet) => {
return result + pet.pets.age},0)
console.log(totalAgeAllPets)
const data = [{
name: "mark",
age: 27,
from: "Chicago",
pets: [],
},
{
name: "greg",
age: 68,
from: "Auburn",
pets: [{
type: "rock",
name: "herbert",
age: 126003219,
}, ],
},
{
name: "ken",
age: 28,
from: "Naperville",
pets: [{
type: "cat",
name: "colby",
age: 1,
},
{
type: "dog",
name: "charlie",
age: 3,
},
{
type: "dog",
name: "william riker",
age: 1,
},
{
type: "dog",
name: "thomas riker",
age: 1,
},
],
},
{
name: "kristiana",
age: 47,
from: "Chicago",
pets: [],
},
{
name: "bryan",
age: 27,
from: "Lincoln Park Zoo",
pets: [{
type: "white tiger",
name: "arthur",
age: 3,
},
{
type: "silverback gorilla",
name: "tommy",
age: 4,
},
{
type: "guinea pig",
name: "kirk",
age: 1,
},
{
type: "hamster",
name: "spock",
age: 1,
},
{
type: "hamster",
name: "sarek",
age: 1,
},
{
type: "cat",
name: "quark",
age: 1,
},
{
type: "cat",
name: "kira nerys",
age: 1,
},
],
},
{
name: "anthony",
age: 31,
from: "Phoenix",
pets: [],
},
{
name: "stephanie",
age: 27,
from: "Chicago",
pets: [{
type: "dog",
name: "midnight",
age: 3,
}, ],
},
{
name: "david p",
age: 40,
from: "Lancaster",
pets: [{
type: "dog",
name: "quinn",
age: 8,
}, ],
},
{
name: "patrick",
age: 39,
from: "Poway",
pets: [{
type: "dog",
name: "hazel",
age: 7,
},
{
type: "cat",
name: "fredy perlman",
age: 13,
},
],
},
{
name: "david a",
age: 32,
from: "San Francisco",
pets: [{
type: "monstera",
name: "holey",
age: 1,
}, ],
},
{
name: "timm",
age: 32,
from: "Gainsville",
pets: [{
type: "goldfish",
name: "betsy",
age: 4,
}, ],
},
{
name: "conrad",
age: 101,
from: "Minneapolis",
pets: [],
},
{
name: "nate",
age: 14,
from: "Boston",
pets: [{
type: "cat",
name: "rosie",
age: 0.005,
},
{
type: "hermit crab",
name: "kermit",
age: 1, // 16 wow wtf
},
{
type: "dog",
name: "ernie",
age: 4,
},
{
type: "cat",
name: "kendrick lamar jr",
age: 6,
},
{
type: "cat",
name: "guinan",
age: 589,
},
{
type: "cat",
name: "beverly",
age: 1,
},
],
},
{
name: "temo",
age: 25,
from: "Osaka",
pets: [{
type: "dog",
name: "nacho",
age: 1,
},
{
type: "dog",
name: "belky",
age: 1,
},
{
type: "dog",
name: "janeway",
age: 4,
},
{
type: "dog",
name: "jean-luc",
age: 12,
},
{
type: "monkey",
name: "shin chan",
age: 1,
},
],
},
{
name: "griffin",
age: 22,
from: "Chicago",
pets: [{
type: "bearded dragon",
name: "ferg",
age: 3,
}, ],
},
{
name: "eman",
age: 20,
from: "Lake in the Hills",
pets: [{
type: "parakeet",
name: "sunny",
age: 400,
},
{
type: "parrot",
name: "vic fontaine",
age: 46,
},
{
type: "parrot",
name: "worf",
age: 48,
},
{
type: "cockatoo",
name: "spockatoo",
age: 33,
},
],
},
{
name: "jürgen",
age: 28,
from: "Chicago",
pets: [{
type: "cat",
name: "mija",
age: 6,
}, ],
},
{
name: "michele",
age: 33,
from: "Rome",
pets: [{
type: "cat",
name: "caesar", // "cheeto"
age: 3,
},
{
type: "cat",
name: "cleopatra",
age: 3,
},
{
type: "cat",
name: "tuvok",
age: 10,
},
{
type: "turtle",
name: "spock",
age: 13,
},
],
},
{
name: "mitchell",
age: 19,
from: "Iowa City",
pets: [{
type: "cat",
name: "eddie",
age: 7,
}, ],
},
{
name: "reuben",
age: 41,
from: "Durham",
pets: [{
type: "cat",
name: "nico",
age: 15,
},
{
type: "cat",
name: "rocky",
age: 5,
},
],
},
{
name: "fatima",
age: 24,
from: "Milwaukee",
pets: [{
type: "snake",
name: "reginald",
age: 12,
}, ],
},
];
const totalAgeAllPets = data.reduce((result, pet) => {
return result + pet.pets.age;
}, 0);
console.log(totalAgeAllPets);
有人能指出正确的方向吗?
【问题讨论】:
标签: javascript arrays object reduce