использование функции сращивания в JavaScript

#javascript #arrays #slice #console.log #splice

#javascript #массивы #срез #console.log #сращивание

Вопрос:

функция splice не может быть записана внутри console.log?? Я пробовал оба, вот что я пробовал —

 const arr1 = ["a","b","c","d","e","f"];
console.log(arr1.splice(1,4,"HI"));
 

вывод для этого кода= [‘a’, ‘HI’, ‘f’ ]

 const arr1 = ["a","b","c","d","e","f"];
arr1.splice(1,4,"HI");`enter code here`
console.log(arr1);
 

вывод для этого кода = [‘b’, ‘c’, ‘d’, ‘e’ ]`

В чем разница?

Комментарии:

1. Это так, как задокументировано. Возвращаемый массив — это то, что сращивается , а не то, что остается


Ответ №1:

Журнал показывает, что splice вернула функция, которая представляет собой массив удаленных элементов. Похоже, вы хотите увидеть новое содержимое исходного массива, которое не splice возвращает, поэтому вам придется показывать его отдельно.

 arr1.splice(1,4,"HI")
console.log(arr1);
 

Живой пример:

 const arr1 = ["a","b","c","d","e","f"];
arr1.splice(1,4,"HI");
console.log(arr1); 

или, если вы действительно хотите однострочный, вы можете злоупотреблять оператором запятой:

 console.log((arr1.splice(1,4,"HI"), arr1)); // But please don't do this ;-)
 

Живой пример:

 const arr1 = ["a","b","c","d","e","f"];
console.log((arr1.splice(1,4,"HI"), arr1)); // But please don't do this ;-) 

Ответ №2:

В первом примере вы регистрируете возвращаемое значение splice (массив, содержащий удаленные элементы).

Во втором примере вы регистрируете измененный массив.


 const arr1 = ["a", "b", "c", "d", "e", "f"];
const return_value = arr1.splice(1, 4, "HI");
console.log({
  return_value,
  arr1
});