3 回答

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊
您可以在回調(diào)中為對(duì)象值添加驗(yàn)證filter。
這里,i?.work = i ? i.work : undefined
const array = [
{
"id": 1,
"name": "Ruan Duarte",
"idade": 11,
"work": {
"id": 2,
"name": "React"
}
},
{
"id": 2,
"name": "Raul Dias",
"idade": 13
},
{
"id": 7,
"name": "Caio Ribeiro",
"idade": 60,
"work": {
"id": 4,
"name": "Rails"
}
},
{
"id": 3,
"name": "Felipe Lima",
"idade": 55
},
{
"id": 4,
"name": "Camila",
"idade": 25,
"work": {
"id": 3,
"name": "Phyton"
}
}
]
const search = 'Phy';
console.log(array.filter((i) => {
return (
i?.work?.name?.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, "")
.includes(search.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, ""))
)
}));

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊
試試這個(gè)解決方案。
array.filter((i) => {
return (
i.work && i.work.name && i.work.name.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, "")
.includes(search.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, ""))
)
})

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊
array.filter(i =>
? ? i?.work?.name?.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, "")
? ? ? .includes(search.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, ""))
);
添加回答
舉報(bào)