Я новичок в Angular и пробую свои силы в многомерных массивах.Я успешно извлекаю и отображаю данные 1-го уровня в моем многомерном массиве json.Тем не менее, я не могу найти правильный синтаксис для извлечения данных из второго слоя массива.Я рассмотрел довольно много решений для многомерных массивов, но ни одно из них не соответствует тому, что я пытаюсь сделать.Я создал служебный компонент и добавил в него свой код.Это то, что я до сих пор:
Определение сжатого массива (фактический массив имеет гораздо больше элементов и полей):
private _fundraisers: Fundraiser[] = [
{
fundId: 'f1',
fundTitle: 'The happy fund',
items: [
{
itemId: '66',
itemTitle: 'sixTea6'
},
{
itemId: '88',
itemTitle: 'eighTea8',
}]
}
];
У меня есть следующая функция для извлечения элемента сверхумассив уровней, использующий переменную fundId.
getFundraiser(fundId: string) {
return {...this._fundraisers.find(fundraiser => {
return fundraiser.fundId === fundId;
})};
}
Эта функция возвращает обязательный элемент и все «элементы» для fundId.Теперь, когда пользователь выбирает один из «предметов», я хочу вернуть все детали только для этого предмета.Поэтому, если я отображаю запись для «f1» и пользователь выбирает пункт «66», я хочу передать «f1» и «66» функции и вернуть подробности для «f1 / 66».Это то, что я пытался безуспешно.
getFundraiserItem(fundId: string, itemId: string) {
this._fundraisers.find(fundraiserItem => {
if (fundraiserItem.fundId === fundId) {
console.log(fundraiserItem[0][fundId][0].itemId[0].itemId);
}
});
}
Очевидно, что я использую только console.log для тестирования своего кода.Таким образом, console.log будет заменен каким-либо возвратом.Я попытался собрать этот код вместе, основываясь на других решениях по переполнению стека.Но я, вероятно, далеко от цели.Любая помощь будет оценена.