[英]Sum up arrays of an array of object
我有以下帶有對象的數組,該對象由一個數組組成。 我想返回數組“物種”的總長度。
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 的結果,但我不太確定如何。 有什么建議? 謝謝!
試試這條線。 它工作正常。
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);
您可以使用.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)
嘗試這個。
let count = 0;
for (let i = 0; i < fish.length; i++) {
for (let j = 0; j < fish[i][species].length; i++) {
count++;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.