У меня есть следующая проблема, мне нужно извлечь некоторые значения из другого массива во время итерации.
Но в рамках каждой операции массив теряет все свои функции-прототипы.
const allCrumbs: BreadCrumb[] = this.createBreadcrumbs(this.activatedRoute.root);
last.url.split('/').forEach((segment: string) => {
if (segment !== '#') {
// This is the part that doesn work within the array
// Edit forgot null check here
const label = allCrumbs.find(value => value.url.endsWith(segment)).label;
// allCrumbs.find(...) is not defined
this.breadCrumbs.push({label: label ? label : segment, url: `/${segment}`});
}
});
// This works just fine
const testlabel = allCrumbs.find(value => value.url.endsWith('test')).label;
, когда я делаю это, ошибка:
allCrumbs.find (...) не определена
append.
Когда я делаю то же самое за пределами массива Other, он работает нормально.
Может кто-нибудь объяснить это поведение? И, возможно, дать подсказку к решению.
Большое спасибо:
Решение
Забыли нулевую проверку, спасибо.
теперь это работает
last.url.split('/').forEach((segment: string) => {
if (segment !== '#') {
const result = allCrumbs.find(value => value.url.endsWith(segment));
this.breadCrumbs.push({label: result ? result.label : segment, url: `/${segment}`});
}
});
Позор мне. Но спасибо всем за терпение