Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

218
Visualizações
.slice() second element from array

my array:

var arr= ["1", "2", "3","4","5", "6", "7","8","9","10","11"];

i want to .slice() it so output will be:

var finalArr = [ "1", "2", "4", "5", "6","9","10","11"];

i used sliced like that, but how can i .slice() second element from my array?

var b = [].concat(arr.slice(0, 6), arr.slice(-3)); // output: ["1", "2", "3", "4", "5", "6", "9", "10", "11"]

i know about .splice() but that solution doesn't work for my project

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

You can use ES6 spread operator:

const result = [arr[0], ...arr.slice(2)];

Or you can even use Array.prototype.filter like so, but be careful of performance if you have big source array:

const result = arr.filter((_, index) => index !== 1);
about 4 years ago · Juan Pablo Isaza Relatório

0

It's a matter of the right 'end' value in the slicing I suppose.

const initial = ["1", "2", "3","4", "5", "6", "7", "8", "9", "10", "11"];
const finalArr = [ "1", "2", "4", "5", "6", "9", "10", "11"];

// concat the slices
const concatted = initial.slice(0, 2)
  .concat(initial.slice(3, 6))
  .concat(initial.slice(-3));

// or use the spread operator ...
const spreaded = [
  ...initial.slice(0, 2), 
  ...initial.slice(3, 6), 
  ...initial.slice(-3) ];

// or flat three sliced subarrays
const flattened = [
  initial.slice(0, 2), 
  initial.slice(3, 6), 
  initial.slice(-3) ].flat();
  
// or filter all values NOT in finalArr
const notInFinalArray = initial.filter(v => !finalArr.find(fa => fa === v));
const filtered = initial.filter( v => !notInFinalArray.includes(v) );

console.log(`concatted ${JSON.stringify(concatted)} equals finalArr? ${
  JSON.stringify(concatted) === JSON.stringify(finalArr)}`);
console.log(`spreaded ${JSON.stringify(spreaded)} equals finalArr? ${
  JSON.stringify(spreaded) === JSON.stringify(finalArr)}`);
console.log(`flattened ${JSON.stringify(flattened)} equals finalArr? ${
  JSON.stringify(flattened) === JSON.stringify(finalArr)}`);
console.log(`filtered ${JSON.stringify(filtered)} equals finalArr? ${
  JSON.stringify(filtered) === JSON.stringify(finalArr)}`);

about 4 years ago · Juan Pablo Isaza Relatório

0

On your case you can use "push" instead of concat, is more performant:

const arr = ["1", "2", "3","4", "5", "6", "7", "8", "9", "10", "11"];

// concat the slices
var finalArr = arr.slice(0, 2);

finalArr.push(...arr.slice(3, 6),...arr.slice(-3));

console.log(`${JSON.stringify(finalArr)}`);

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda