Фильтр возвращает новый массив, поэтому в зависимости от того, как вы используете свою функцию, вы, скорее всего, смотрите на исходный массив, что вы не можете сделать, вам нужно посмотреть на отфильтрованные результаты.
let arr = [12, 5, 8, 130, 44]
function test(arr) {
return arr.filter((element) => {
return element >= 10
});
}
// The filtered results
console.log('The filtered array', test(arr))
// The original array
console.log('The original array', arr)
Чтобы изменить массив на месте, вы можете использовать цикл while, а затем соединить элементы, подобные этому, что изменит массив на месте.
let arr = [12, 5, 8, 130, 44]
// Get the initial length of the array
let i = arr.length
// Loop backwards over the array as not to skip values when they get removed
while(--i) {
if(arr[i] > 10) continue
arr.splice(i, 1)
}
console.log(arr)
Вместо некоторого времени вы можете просто присвоить значение исходному массиву, перезаписав его исходным значением.
let arr = [12, 5, 8, 130, 44]
function test(arr) {
return arr.filter((element) => {
return element >= 10
});
}
// Assign the result back to arr
arr = test(arr)
// The new value of arr
console.log(arr)