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

88
Visualizações
Convierta una cadena de coordenadas en objetos anidados x e y

Tengo la siguiente cadena: area = "73,159,160,178,165,340,70,382" ; Y necesito convertirlo al siguiente formato:

 area = [ { "x": 73, "y": 159, }, { "x": 160, "y": 178, }, { "x": 165, "y": 340, }, { "x": 70, "y": 382, } ]

Puedo comenzar convirtiéndolo en una matriz normal:

 JSON.parse("[" + area + "]")

Pero ahora estoy atascado en cómo hacer los objetos anidados. ¿Cómo sabría ahora cuál es cualquier otro número par e impar y lo asignaría al objeto correspondiente?

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

0

Puede dividir la cadena por una coma y usar un bucle for para recorrer la matriz resultante y construir los objetos:

 const str = "73,159,160,178,165,340,70,382" const split = str.split(",") const arr = [] for(let i = 0; i < split.length; i++){ arr.push({"x":split[i], "y":split[++i]}) } console.log(arr)

about 4 years ago · Juan Pablo Isaza Relatório

0

Aquí hay una alternativa usando regex

 let area = "73,159,160,178,165,340,70,382" let regex = /\d+,\d+/g match = area.match(regex).map(match => { let [x, y] = match.split(",") return {x, y} }) console.log(match)

about 4 years ago · Juan Pablo Isaza Relatório

0

¿Creo que esto es lo que estás tratando de lograr? tenga en cuenta que no agregué un código para verificar si la cantidad de elementos en la matriz será par o no, por lo que si su área nueva es impar, esta función fallará

 function Convert(arrayOfArea){ let Converted = []; let count = arrayOfArea.length/2; let mod = arrayOfArea.length%2; for(let i = 0; i < count; i++){ Converted.push({x:0 , y:0}); Converted[i].x = arrayOfArea[i] Converted[i].y = arrayOfArea[i+1]; } return Converted; } let strArea = "73,159,160,178,165,340,70,382"; let newArea = JSON.parse("["+strArea+"]"); console.log(Convert(newArea));

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