Я пытаюсь добавить некоторые элементы в модель. Я точно не знаю, как это работает в Angular, поэтому я пробую .add
Модель
export class Profile {
id: number;
nombre: descripcion;
}
ТС
perfilesTodos: Profile[];
response["body"].forEach((index: number) => {
if (response["body"] == 1) {
this.perfilesTodos.push(index, "Arson");
} else if (response["body"] == 2) {
this.perfilesTodos.push(index, "Administrador de entidad");
} else if (response["body"] == 3) {
this.perfilesTodos.push(index, "Administrador de grupo");
} else if (response["body"] == 4) {
this.perfilesTodos.push(index, "Gestor");
} else if (response["body"] == 5) {
this.perfilesTodos.push(index, "Instalador");
}
});
Вернуть
Can not assign an argument of type "number" to the parameter of type "Profile"
Кто-нибудь знает, как добавить элементы в массив с помощью модели?
должно быть this.perfilesTodos.push({id: index; nombre: "Arson" });
Используя this.perfilesTodos.push({id: index; nombre: "Поджог" }); ошибка исправлена, но console.info(this.perfilesTodos) возвращает значение null. Ответ return [1, 2, 3, 4, 5]
сделайте это для всех элементов для push, например: this.perfilesTodos.push({id: index; nombre: "Instalador"}); на основе значения ответа ["тело"] ваш массив будет заполнен, запишите ответ ["тело"] и посмотрите, что это такое?
В этом случае return Невозможно прочитать свойство «push» неопределенного. response["body"].forEach((index: number) => { console.info(index); this.perfilesTodos.push({ id: index, descripcion: "Поджог" }); });





вам нужно нажать базу объектов класса Profile форма или момент класса peofile
perfilesTodos: Profile[] = []; // ? array default value
response["body"].forEach((index: number) => {
if (response["body"] == 1) {
this.perfilesTodos.push({ id: index, nombre : "Arson");
} else if (response["body"] == 2) {
this.perfilesTodos.push({ id: index, nombre :"Administrador de entidad"});
} else if (response["body"] == 3) {
this.perfilesTodos.push({ id : index, nombre : "Administrador de grupo" });
} else if (response["body"] == 4) {
this.perfilesTodos.push({ id :index, nombre :"Gestor"});
} else if (response["body"] == 5) {
this.perfilesTodos.push({ id: index, nombre :"Instalador"});
}
})
when you mark the perfilesTodos as profile array this mean all array item has to be base of that type shape so you need to push ethier an instant of profile class or an object has that same proprties
Вернуть «неопределенное» в консоли. Может быть, если .. еще не работает?
Я пробую такой простой код if (response["body"] == 1) { console.info("entra"); } в foreach и не проходит
@ElHombreSinNombre ошибка связана с методом проталкивания массива
@ElHombreSinNombre, возможно, вам нужно инициализировать массив perfilesTodos с пустым массивом, проверьте мой ответ
Это, безусловно, помогает понять, что push принимает аргументы типа varargs. Итак, ниже (как вы делаете в своем коде) будет добавлено множество элементов в список:
list.push(1,2,3,4,5);
Итак, что вам нужно сделать, это добавить Profile в список профилей.
this.perfilesTodos.push({ id: index, nombre : "Arson"});
Теперь, чтобы опустить все эти операторы if else, можно создать простой массив строк.
const data: string[] = ['Arson', 'Administrador de entidad', 'Administrador de grupo', 'Gestor', 'Instalador']
избавиться от всех if else и просто сделать
perfilesTodos: Profile[] = [];
response["body"].forEach((id: number) => {
this.perfilesTodos.push({id, nombre: data[ response["body"] - 1 ]});
});
Конечно, вам также придется изменить тип nombre, так как нет такой вещи, как description — это строка.
Что все еще выглядит очень странно, так это то, что вы сначала перебираете `response['body'] как массив, а затем пытаетесь выполнить проверку на равенство для числа...
response["body"].forEach((id: number) => { this.perfilesTodos.push({ id, описание: "Поджог" }); }); по-видимому, работает, но мне нужно создать if.. else, чтобы установить имена с разными идентификаторами.
Нет, как я объяснил, вам не нужно @ElHombreSinNombre
В этом случае this.perfilesTodos.push({id, name: this.data[response["body"] - 1] }); вернуть нулевое имя, я исправляю его с помощью this.perfilesTodos.push({id, описание: this.data[id - 1] });
Укажите также ответ, который вы получаете. Мы не знаем, что
response.body