#javascript
#javascript
Вопрос:
У меня есть следующий массив с объектами, и объект состоит из массива. Я хотел бы вернуть общую длину массива «species».
let fish = [
{
"name": "salmon",
"species": [
{
"name": "atlantic salmon",
"gender": "male"
},
{
"name": "sockeye salmon",
"gender": "female"
},
],
},
{
"name": "carp",
"species": [
{
"name": "grass carp",
"gender": "male"
},
{
"name": "common carp",
"gender": "female"
},
],
},
]
Я хотел бы получить результат 4 из этого, но я не слишком уверен, как. Есть предложения? Спасибо!
Комментарии:
1. Вы уже пробовали что-нибудь? Не могли бы вы, пожалуйста, добавить свою попытку к вопросу?
2. обычный лосось — это не карп. Вы имели в виду обыкновенного карпа ?
Ответ №1:
Попробуйте эту строку. Это работает нормально.
let fish = [
{
"name": "salmon",
"species": [
{
"name": "atlantic salmon",
"gender": "male"
},
{
"name": "sockeye salmon",
"gender": "female"
},
],
},
{
"name": "carp",
"species": [
{
"name": "grass carp",
"gender": "male"
},
{
"name": "common salmon",
"gender": "female"
},
],
},
];
const speciesCount = fish.flatMap(f => f.species).length;
console.log(speciesCount);
Ответ №2:
Вы могли бы использовать .reduce
для накопления длины species
const res = fish.reduce((acc, el) => acc el.species.length, 0)
let fish = [
{
name: "salmon",
species: [
{
name: "atlantic salmon",
gender: "male",
},
{
name: "sockeye salmon",
gender: "female",
},
],
},
{
name: "carp",
species: [
{
name: "grass carp",
gender: "male",
},
{
name: "common salmon",
gender: "female",
},
],
},
]
const res = fish.reduce((acc, el) => acc el.species.length, 0)
console.log(res)
Ответ №3:
Попробуйте это.
let count = 0;
for (let i = 0; i < fish.length; i ) {
for (let j = 0; j < fish[i][species].length; i ) {
count ;
}
}