Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

132
Vistas
Cómo recuperar un valor aleatorio de una matriz que tiene valores separados por una nueva línea

Soy un completo novato en JS y actualmente lo uso en capacidad de prueba junto con el marco de Karate para realizar algunas pruebas de interfaz de usuario. Tengo el siguiente problema:

Hay un menú desplegable que tiene el siguiente HTML:

 <select class=id="CarId" name="CarId" aria-describedby="CarId-error" aria-invalid="false" xpath="1"> <option value="1">Mercedes</option> <option value="2">BMW</option> <option value="3">Lexus</option> <option value="4">Honda</option> <option value="5">Toyota</option> <option value="6">VW</option> </select>

Usé el siguiente método de Karate para obtener todos los valores de texto en el menú desplegable:

 def grabValues = scriptAll('#CarId', '_.textContent')

Una vez impresa, la matriz se ve así:

 [ "Mercedes\nBMW\nLexus\nHonda\nToyota\nVW\n" ] console.log(Math.floor(Math.random() * (grabValues.length-1)))

Cuando se imprime, me sigue dando 0.0. ¿Supongo que esto se debe a que la matriz contiene nuevas líneas frente a las delimitadas por comas? Si es así, ¿cómo puedo deshacerme de las nuevas líneas y reemplazarlas con comas?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Lo que quieres es obtener el texto de cada <option>

 def grabValues = scriptAll('#CarId option', '_.textContent')

Esto le dará una serie de valores de texto como

 ["Mercedes","BMW","Lexus","Honda","Toyota","VW"]

Para obtener un índice aleatorio, usaría

 Math.floor(Math.random() * grabValues.length)
about 4 years ago · Juan Pablo Isaza Denunciar

0

El código de una línea es console.log(myArr[0].split('\n'))

O

Supongamos: la matriz de String se almacena en myArr

 let myArr = ["ABC\nDEF\nGHI\nJKL\nMNO\nPQR\nSTU\nVWX\nYZA\n"]

Para obtener la cadena de la matriz

 let stringOfArr = myArr[0]

Almacenar la nueva matriz de stringOfArr delimitada por '\n' en newArray

 let newArray = stringOfArr.split('\n') console.log(newArray)
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda