![](/img/trans.png)
[英]How to filter an array of objects based on a condition using javascript?
[英]How to filter out array of objects based on gender using filter in javascript?
下面是我試圖過濾掉男性和女性數組的代碼。 但它似乎在男性和女性變量中再次返回整個數組。
const male = await familyTree.filter(async(uncle) => {uncle.gender === 'Male'});
const female = await familyTree.filter(async(aunt) => {aunt.gender === 'Female'});
我的對象數組:
var familyTree= [
{
name: 'Ish',
gender: 'Male',
grandfather: 'null',
grandmother: 'null',
father: 'Shan',
mother: 'Anga',
wife: {}
},
{
name: 'Vich',
gender: 'Male',
grandfather: 'null',
grandmother: 'null',
father: 'Shan',
mother: 'Anga',
wife: {
name: 'Lika',
husband: 'Vich',
fil: 'Shan',
mil: 'Anga',
children: [Array]
}
},
{
name: 'Aras',
gender: 'Male',
grandfather: 'null',
grandmother: 'null',
father: 'Shan',
mother: 'Anga',
wife: {
name: 'Chitra',
husband: 'Aras',
fil: 'Shan',
mil: 'Anga',
children: [Array]
}
},
{
name: 'Satya',
gender: 'Female',
grandfather: 'null',
grandmother: 'null',
father: 'Shan',
mother: 'Anga',
husband: 'Vyan',
children: [ [Object], [Object], [Object] ]
}
]
當我在控制台中打印男性和女性時,它會再次返回整個數組而不過濾它們。 可能是什么原因?
如果在箭頭 function 中使用{}
,則需要從中return
結果。
我還刪除了async-await
,如果有必要,請重新引入它們。
const male = familyTree.filter((uncle) => {
return uncle.gender === 'Male'
});
const female = familyTree.filter((aunt) => {
return aunt.gender === 'Female'
});
對於通過 JavaScript 中的數組進行過濾,您可以使用簡化的方式
var males = familyTree.filter(prop => {
return prop.gender === 'Male'
})
var females = familyTree.filter(prop => {
return prop.gender === 'Female'
})
當使用花括號將 function body {} 括起來時,需要使用 return 關鍵字返回一個值,
const male = familyTree.filter(uncle => {return uncle.gender === 'Male'});
或者如果您刪除花括號:
const male = familyTree.filter(uncle => uncle.gender === 'Male')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.