Метод splice() JS
let arr = [1, 2, 3, 4, 5].splice(1, 2); // результат [2, 3]
let arr = [1, 2, 3, 4, 5];
let sub = arr.splice(1, 2); // результат [1, 4, 5]
Почему разный результат? Применяется ведь тот-же метод?!
Ответы (1 шт):
Читаем доки https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
Возвращаемое значение Массив, содержащий удалённые элементы.
Если вы смотрите в первом примере на arr, а во втором на sub, то увидите одинаковый результат.
Если и там и там смотрите на arr, то логично, что результат разный., потому что в первом случае в arr складывается возвращаемый результат, а во втором в arr хранится то, что не вырезали, так как над ним делали операции, а результат вернули в sub
let arr = [1, 2, 3, 4, 5].splice(1, 2);
console.log(arr);
arr = [1, 2, 3, 4, 5];
let sub = arr.splice(1, 2);
console.log(sub); // Результат одинаковый и по-другому быть не может
//--------------------------------
arr = [1, 2, 3, 4, 5].splice(1, 2);
console.log(arr);
arr = [1, 2, 3, 4, 5];
sub = arr.splice(1, 2);
console.log(arr); // Результат разный, потому что результат в #1 складывается в arr, а в #2 в sub, а сама операция производится с arr и никак не перезаписывается чем либо ещё