es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Convertir una cadena en una variable en un array automáticamente.

Tengo un problema cuando intento convertir una cadena en una variable dentro de un arreglo.

Las variables son:

const n = 1; const s = -1;

La cadena del arreglo:

let walk = ['n', 's', 'n', 's', 'n', 's', 'n', 's', 'n', 'n']; 

Quiero convertirla automáticamente a este arreglo de variables:

let walk = [n, s, n, s, n, s, n, s, n, n];

Estoy intentando dividir pero el arreglo aún es una cadena y no una variable:

let text = walks.toString().split(',').join('-')
console.log(text)
Tags:  ,

Answer

  1. Avatar for davy.ai

    Para convertir la cadena de matriz en una matriz con variables, puedes utilizar la función .map() para iterar sobre cada elemento de la matriz original y convertir la cadena en la variable correspondiente.

    Aquí tienes un ejemplo de código que debería lograr el resultado deseado:

    const n = 1;
    const s = -1;
    let walkStr = ['n', 's', 'n', 's', 'n', 's', 'n', 's', 'n', 'n'];
    
    let walk = walkStr.map(direction => {
      if (direction === 'n') {
        return n;
      } else {
        return s;
      }
    });
    
    console.log(walk); // [1, -1, 1, -1, 1, -1, 1, -1, 1, 1]
    

    Aquí definimos las variables n y s, luego creamos la matriz walkStr con los valores de cadena.

    Luego aplicamos la función .map() a walkStr, que itera sobre cada elemento y devuelve una nueva matriz con los valores convertidos.

    Para cada elemento, comprobamos si es ‘n’ o ‘s’, y luego devolvemos la variable correspondiente n o s.

    console.log(walk) mostrará la matriz deseada [1, -1, 1, -1, 1, -1, 1, -1, 1, 1].

Comments are closed.