Присвойте массиву length = 0. Это удаляет его элементы на месте, поэтому все переменные, ссылающиеся на тот же массив, увидят пустой массив.
Полное обнуление массива
Присвойте массиву length = 0. Это удаляет его элементы на месте, поэтому все переменные, ссылающиеся на тот же массив, увидят пустой массив.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Необходимо реализовать функцию/метод, который полностью удаляет все элементы из переданного массива, оставляя его пустым.
Ответ
Присвойте массиву length = 0. Это удаляет его элементы на месте, поэтому все переменные, ссылающиеся на тот же массив, увидят пустой массив.
function clearArray(array) {
array.length = 0;
return array;
}
const values = [1, 2, 3];
const alias = values;
clearArray(values);
console.log(alias); // []
Присваивание array = [] внутри функции только сменило бы локальную ссылку и не очистило исходный массив. Альтернатива с мутацией — array.splice(0, array.length). Решение предполагает обычный изменяемый массив: замороженный объект таким способом очистить нельзя.