HTML не изменяется, поскольку исходный массив не изменяется. «Метод splice () добавляет / удаляет элементы в / из массива и возвращает удаленные элементы.»
Я имею в виду, что метод splice создает новый массив и возвращает его.
Если вы хотите получить результат метода сращивания, присвойте его исходному массиву напрямую.
methodSplice(){
this.array= this.array.splice(2,4);
}
Или, если вы хотите получить оставшуюся часть после метода сращивания, выполните следующие действия:
methodSplice(){
this.array.splice(2,4);
this.array= this.array.slice();
}
Или, может быть, вы можете использовать метод фильтра:
methodSplice(){
this.array= this.array.filter((i,v)=> i<=2);
}
let array;
function resetTheArray(){ array = [1,2,3,4,5];}
resetTheArray();
console.log("Original array: " + array.toString());
array.splice(2,4);
//array=array.slice(); You need this to trigger your original array to say angular I am changed.
console.log("I am rest of splicing: "+ array.toString());
resetTheArray();
array=array.splice(2,4);
console.log("I am the removed part: "+ array.toString());
resetTheArray();
array = array.filter((i,v)=> i<=2); // you can add more conditions
console.log("I am the rest of filtering: "+ array.toString());