Fatia da matriz de JavaScript ()

O método JavaScript Array slice () retorna uma cópia superficial de uma parte de uma matriz em um novo objeto de matriz.

A sintaxe do slice()método é:

 arr.slice(start, end)

Aqui, arr é um array.

Parâmetros de slice ()

O slice()método inclui:

  • start (opcional) - Índice inicial da seleção. Se não for fornecido, a seleção começa no início 0 .
  • end (opcional) - Índice final da seleção (exclusivo). Se não for fornecido, a seleção termina no índice do último elemento.

Valor de retorno da fatia ()

  • Retorna uma nova matriz contendo os elementos extraídos.

Exemplo 1: método slice () de JavaScript

 let languages = ("JavaScript", "Python", "C", "C++", "Java"); // slicing the array (from start to end) let new_arr = languages.slice(); console.log(new_arr); // ( 'JavaScript', 'Python', 'C', 'C++', 'Java' ) // slicing from the third element let new_arr1 = languages.slice(2); console.log(new_arr1); // ( 'C', 'C++', 'Java' ) // slicing from the second element to fourth element let new_arr2 = languages.slice(1, 4); console.log(new_arr2); // ( 'Python', 'C', 'C++' )

Resultado

 ('JavaScript', 'Python', 'C', 'C ++', 'Java') ('C', 'C ++', 'Java') ('Python', 'C', 'C ++')

Exemplo 2: slice de JavaScript () com índice negativo

Em JavaScript, você também pode usar índices de início e fim negativos . O índice do último elemento é -1 , o índice do penúltimo elemento é -2 e assim por diante.

 const languages = ("JavaScript", "Python", "C", "C++", "Java"); // slicing the array from start to second-to-last let new_arr = languages.slice(0, -1); console.log(new_arr); // ( 'JavaScript', 'Python', 'C', 'C++' ) // slicing the array from third-to-last let new_arr1 = languages.slice(-3); console.log(new_arr1); // ( 'C', 'C++', 'Java' )

Resultado

 ('JavaScript', 'Python', 'C', 'C ++') ('C', 'C ++', 'Java')

Exemplo 3: slice de JavaScript () com objetos como elementos de matriz

O slice()método raso copia os elementos da matriz da seguinte maneira:

  • Ele copia referências de objeto para a nova matriz. ( Por exemplo , uma matriz aninhada) Portanto, se o objeto referenciado for modificado, as alterações serão visíveis na nova matriz retornada.
  • Ele copia o valor de strings e números para a nova matriz.
 let human = ( name: "David", age: 23, ); let arr = (human, "Nepal", "Manager"); let new_arr = arr.slice(); // original object console.log(arr(0)); // ( name: 'David', age: 23 ) // making changes to the object in new array new_arr(0).name = "Levy"; // changes are reflected console.log(arr(0)); // ( name: 'Levy', age: 23 )

Resultado

 (nome: 'David', idade: 23) (nome: 'Levy', idade: 23)

Leitura recomendada: JavaScript Array.splice ()

Artigos interessantes...