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

226
Visualizações
Aplicar una función a cada objeto en una matriz de JavaScript
[ {name:'hi',data:'1,2,3,4,5'} , {name:'hello',data:'5,4,3,2,1'} ]

Lo que necesito es aplicar una división en data de cada objeto en la matriz para que el resultado sea:

 [ {name:'hi',data:[1,2,3,4,5]} , {name:'hello',data:[5,4,3,2,1]} ]

Sé que puedo recorrer la matriz usando for each y producir una nueva matriz, pero ¿hay un método mejor y más rápido?

 var arr = [{ name: 'hi', data: '1,2,3,4,5' }, { name: 'hello', data: '5,4,3,2,1' }]; var new_arr = []; for (i in arr) { var temp = {}; temp.name = arr[i].name; temp.data = arr[i].data.split(','); new_arr.push(temp); }
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Podrías usar Array.prototype.map :

 var new_array = old_array.map(function(e) { e.data = e.data.split(','); return e; });

Como decía el comentario, de esta manera cambia el old_array . También podría devolver un nuevo objeto en la función de devolución de llamada sin cambiar la matriz original.

over 4 years ago · Santiago Trujillo Relatório

0

var data = [{ name: 'hi', data: '1,2,3,4,5' }, { name: 'hello', data: '5,4,3,2,1' }];

Puede usar Array.prototype.map en data para construir una nueva matriz, como esta

 var result = data.map(function (currentObject) { return { name: currentObject.name, data: currentObject.data.split(",").map(Number) }; });

Aquí, split currentObject.data en función de , y luego llamamos a la función Number en todas las cadenas divididas, para que obtenga los data del objeto de resultado como números, como deseaba en la pregunta.

Producción

 [{ name: 'hi', data: [1, 2, 3, 4, 5] }, { name: 'hello', data: [5, 4, 3, 2, 1] }] 

 let data = [{ name: 'hi', data: '1,2,3,4,5' }, { name: 'hello', data: '5,4,3,2,1' }], result = data.map(function(currentObject) { return { name: currentObject.name, data: currentObject.data.split(",").map(Number) }; }); console.log(result);

over 4 years ago · Santiago Trujillo 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