O método slice() do Javascript não alterará ou alterará os dados originais. Este tutorial ensinará como utilizar a técnica de corte Javascript e como fazer uso de seu potencial imutável. O que é o método de fatia javascript? Simplificando, a função slice do javascript é um array interno ou método de string que retorna uma cópia rasa de uma parte de um array em um novo objeto array, onde 'start' e 'end' são os índices do array. Não haverá modificações no array inicial. const language = ["javascript", "java", "ruby", "rust", "python"]; console.log(language.slice(2)); // ['ruby', 'rust', 'python'] Fatiamos no índice 2 usando uma base indexada em zero, que produz uma nova matriz contendo o elemento fatiado. Mas e se examinarmos o array original (idioma)? Será alterado? A técnica de corte de javascript, ao contrário da função de emenda de javascript, não altera ou afeta os dados originais. Como usar o método de fatia Javascript O método de fatia Javascript é bastante simples de usar; no entanto, para compreendê-lo completamente, enfatizaríamos sua sintaxe. Qual é a sintaxe para isso? Esta sintaxe é escrita simplesmente envolvendo a palavra 'slice' com um parêntese '()' da seguinte forma: slice() Por ser um método, ele aceita argumentos, o que permite maior flexibilidade sobre o que você pode fazer com um array usando a função slice. Eles são os seguintes: Começar Fim O parâmetro start, que simplesmente indica o índice no qual o método slice deve começar, pode ser passado para a função slice. Revisando o exemplo anterior, o método da fatia aceita 2 como entrada, o que significa simplesmente começar do índice 2. Se o argumento inicial não for especificado, o índice será definido como 0. O argumento final também pode ser enviado para a fatia método, mas depende do parâmetro start para funcionar corretamente. O argumento end instrui o array em qual índice ele deve terminar de extrair o elemento. Ele faz isso não incluindo o final, mas apenas até o final. Se o argumento final não for especificado, o comprimento completo da matriz será retornado. slice(start) slice(start,end) Usando o método slice: suponha que temos um array contendo vários tipos de linguagens de programação e queremos escolher três elementos do array. Simplesmente escrevemos a função slice(1,4), fornecendo dois parâmetros baseados em índice, o início e o fim. A extração começaria com o índice especificado, 1, e terminaria com 4, mas em vez de retornar o quarto elemento preciso, forneceria o elemento antes do quarto elemento. Veja como é feito: const language = ["javascript", "java", "ruby", "rust", "python"]; console.log(language.slice(1,4)); // ['ruby', 'rust', 'python'] A nova matriz foi retornada sem modificar a matriz existente. const language = ["javascript", "java", "ruby", "rust", "python"]; console.log(language.slice(1,4)); // ['java', 'ruby', 'rust'] console.log(language); // ['javascript', 'java', 'ruby', 'rust', 'python'] Usando o método slice em não arrays A matriz javascript pode ser usada nas seguintes áreas; no entanto, deve-se observar que o método slice também pode ser usado em não-arrays. Usando o método de fatia Javascript em objetos. Usando o método de fatia Javascript em array esparso. Usando o método de fatia Javascript para converter não-arrays em array. Usando o método de fatia Javascript em objetos O método de fatia javascript funciona em objetos considerando primeiro o comprimento da propriedade do objeto e, em seguida, lendo as propriedades da chave inteira do começo ao fim. E colocá-los em uma nova matriz. Ele usa o método call(). const arrayLike = { length: 3, 0: 2, 1: 3, 2: 4, }; console.log(Array.prototype.slice.call(arrayLike, 1, 3)); // [3, 4] Usando o método de fatia Javascript no array esparso Quando o método slice javascript é usado em um array esparso, o array retornado de pode ser esparso se a fonte for esparsa. slice() console.log([1, 2, , 4, 5].slice(1, 4)) // [2, empty, 4] Usando o método de fatia Javascript para converter não-arrays em um array Para construir uma função utilitária que transforma um objeto semelhante a um array em um array, utilize o método slice do Javascript, bem como os métodos e . call() bind() const sliceEl = Function.prototype.call.bind(Array.prototype.slice); function list() { return sliceEl(arguments); } const listed = list(1, 2, 3) console.log(listed) //[1, 2, 3] perguntas frequentes Qual é a diferença entre o método slice e splice em Javascript? Slice é usado para criar um novo array a partir do array original, enquanto splice é usado para adicionar/remover elementos do array original. No caso de uma fatia, as alterações não são refletidas na matriz original; no entanto, no caso de uma emenda, as alterações são refletidas na matriz original. Qual é a semelhança entre o método slice e splice? A maior semelhança entre eles é que ambos são métodos do array javascript. Quando devo usar o método da fatia? Se você não deseja que os dados originais sejam modificados ou alterados durante a execução de uma tarefa, a abordagem de fatia é o melhor caminho a seguir. Esta é uma abordagem típica em ReactJs. Aprendizado Por fim, o método slice() do javascript é uma forma de copiar. Ele não altera a matriz original, mas fornece uma duplicata superficial com alguns dos mesmos itens da matriz original. Eles aceitam dois parâmetros opcionais, 'start' e 'end', e extraem elementos do array dependendo desses parâmetros. Eles são aplicáveis a não-arrays. Objetos, matriz esparsa e assim por diante.