Я пытаюсь написать функцию для проверки глубоко вложенного подмассива внутри сложного объекта, чтобы вернуть истину, если он имеет значения, или ложь, если он пуст, но я не уверен, как это сделать.
Раздел, который я пытаюсь проверить, - это контакты внутри каждого раздела contactGroups, где я сталкиваюсь с проблемами, потому что массив вложен на 4 уровня ниже, например object > array of objects > object > contacts array
, и я не уверен, как сопоставить или выполнить итерацию в этот уровень.
Это мой первый проход в функции, которая на данный момент представляет собой скорее псевдокод:
const hasContacts = (contacts: {}) => {
if(contacts.contactGroups.length === 0
|| contacts.contactGroups.map((contact) => contactGroups.contacts === undefined
|| contacts.contactGroups.map((contact) => contactGroups.contacts.length === 0 ){
return false
}
return contacts
}
Структура данных выглядит так:
const mockContacts = {
count: 1,
contactGroups: [
{
contactGroup: "Family",
count: 2,
contacts: [
{
member: "Uncle",
fullName: "BENJAMIN BILLIARDS",
lastName: "BILLIARDS",
firstName: "BENJAMIN",
email: "shark@billiards.com",
},
{
member: "Aunt",
fullName: "DENISE NICE",
lastName: "NICE",
firstName: "DENISE",
email: "floral@flowers.com",
}
]
},
{
contactGroup: "Friends",
count: 2,
contacts: [
{
member: "School Friend",
fullName: "DERRICK SMITH",
lastName: "SMITH",
firstName: "DERRICK",
email: "smith978@gmail.com",
},
{
member: "Work Friend",
fullName: "TARA SKY",
lastName: "SKY",
firstName: "TARA",
email: "uptown94@gmail.com",
}
]
}