проблема сращивания или выталкивания с массивом объектов с угловым
Push и splice здесь не работают. это моя модель. мне нужна эта модель для построения моих таблиц. splice удаляет все, а push ничего не делает.
export class Parameter {
constructor(
public asset: string,
public wx: IWx[]
) {
}
}
export interface IWx {
[key: string]: IWxValue;
}
export interface IWxValue {
yellowValue: any;
redValue: any;
}
это моя функция
ajouteWx(pIndex: number, wxIndex: number) {
console.log(pIndex);
console.log(wxIndex);
this._parameters[pIndex].wx = this._parameters[pIndex].wx.push({hello: {yellowValue: 5, redValue: 2}});
this._parameters[pIndex].wx = this._parameters[pIndex].wx.splice(wxIndex, 0, {hello: {yellowValue: 5, redValue: 2}});
}
1 ответ
array.push return Число, представляющее новую длину массива.
array.splice return Новый массив, содержащий удаленные элементы (если есть).
Итак, проблема в том, что вы перезаписываете свой массив значениями, возвращаемыми этими двумя методами.
Решение состоит в том, что вам не нужно назначать их своей таблице, используйте напрямую push и splice, потому что push и splice уже изменяют исходный массив:
this._parameters[pIndex].wx.push({hello: {yellowValue: 5, redValue: 2}});
this._parameters[pIndex].wx.splice(wxIndex, 0, {hello: {yellowValue: 5, redValue: 2}});
И не забудьте инициализировать вашу таблицу this._parameters[pIndex].wx (проверьте, инициализирована она уже или нет)