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

245
Visualizações
Cómo cambiar datos de cadenas JSON a datos de números JSON

Buen día a todos, estoy tratando de obtener el valor numérico de 'review' lo que pasa es que en el JSON lo devuelve como un String y por lo tanto no puedo realizar una suma que hice resultando un valor sin sentido

El objetivo es que, cuando alguien hace un comentario sobre un producto X, los datos se guarden en Firebase en un JSON, el problema es que 'review' se guarda como un String y no como un número

¿Hay alguna manera de tomar este único dato y convertirlo en número?

Esta es la respuesta JSON

 "[{\"review\":\"4\",\"comment\":\"Good product \",\"name\":\"SnowFall\",\"image\":\"https://lh3.googleusercontent.com\",\"method\":\"google\"}]"

Este es mi mecanografiado

 callback(i, totalReviews) { if (!this.render) { this.render = true; let globalRating = 0; let globalReviews = 0; setTimeout(function () { totalReviews.forEach((review, index) => { globalRating += review.length; for (const i in review) { globalReviews += review[i].review; console.log("globalReviews", globalReviews); } }) console.log("Raiting", globalRating); console.log("Reviews", globalReviews); let averageReviews = Math.round(globalReviews / globalRating); let precentage = Math.round(globalReviews * 100 / (globalRating * 5)); $(".globalRating").html(globalRating); $(".percentage").html(precentage); let averageRating = DinamicReviews.fnc(averageReviews); $(".br-theme-fontawesome-stars").html(` <select class="ps-rating reviewsOption" data-read-only="true"></select> `) for (let i = 0; i < averageRating.length; i++) { $(".reviewsOption").append(` <option value="${averageRating[i]}">${i + 1}</option> `) } Rating.fnc(); }, i * 10) } }

Así se guarda en FireBase FireBase RealTime Database

Así es como se ve en mi FrontEnd FrontEnd

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

0

Hay una línea en la que asigna el valor .review a la variable globalReviews , ya que está usando += esto concatenará la cadena y ese es el problema al que se enfrenta.

Si cambia esa misma línea a: globalReviews += +review[i].review;

Esto solucionará el error.

La razón por la que funciona agregar un signo + delante de una variable es porque este signo se conoce como Operador Unario Plus , que convierte el valor en un número o, en caso de que el valor almacenado no sea un número, se convertirá siguiendo la documentación del Operador Unario Plus .

Para hacer que este código sea seguro y, por lo tanto, no agregue un posible NaN , puede fallar a 0 usando la siguiente sintaxis globalReviews += +review[i].review || 0;

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