Quiero convertir una matriz en una cadena y si la matriz contiene un objeto, entonces necesito convertirla en una cadena.
array = [ 'a', 'b', { name: 'John doe', age: 25 } ]Mi código:
const convertedArray = array.join(' ');
Salida como a continuación:
ab "{"nombre":"juan", "edad":22, "clase":"mca"}"
Puede usar la función de reducción de matriz. Dentro de la devolución de llamada reducida, verifique si el objeto actual que está en iteración es un objeto o no. Si es un objeto, use JSON.stringify y concatene con el acumulador.
const array = [ 'a', 'b', { name: 'John doe', age: 25 } ]; const val = array.reduce((acc, curr) => { if (typeof curr === 'object') { acc += JSON.stringify(curr); } else { acc += `${curr} ` } return acc; }, ''); console.log(val) El uso de JSON.stringify en toda la array tendrá un inicio y un final [ y ] respectivamente, que no es lo que está buscando
const array = [ 'a', 'b', { name: 'John doe', age: 25 } ]; console.log(JSON.stringify(array))Simple ! Intenta lo siguiente:
var arr = [ 'a', 'b', { name: 'John doe', age: 25 } ] var newArr = arr.map(i => typeof i === "object" ? JSON.stringify(i) : i) console.log(newArr)producción :
['a', 'b', '{"name":"John doe","age":25}']