En javascript, necesito unir una matriz en una cadena con corchetes. Por ejemplo ['abc', 'yte', 'juu'] => (abc)(yte)(juu) . Necesito la forma más rápida y limpia de hacer esto. Intenté usar el operador de combinación de matrices, pero no funciona en el primer y último elemento.
Puedes hacerlo con literales de plantilla. Use join() con )( separador, y envuelva el resultado con () :
const data = ['abc', 'yte', 'juu']; const result = `(${data.join(')(')})`; console.log(result);Pensando "Necesito la forma más rápida y limpia de hacer esto". a menudo no es ideal. En la mayoría de los casos, lo que la gente quiere es la forma más legible y comprensible de implementar una solución.
Me gusta bastante lo siguiente. Donde primero ponemos entre corchetes cada elemento de la matriz con el map y luego join los elementos sin delimitador:
const data = ['abc', 'yte', 'juu']; let brackets = data.map(x => "(" + x + ")"); let result = brackets.join("") console.log(result);Eso, por supuesto, requiere dos pasadas sobre la matriz. Si realmente debe tener la solución más rápida, simplemente use un bucle for:
const data = ['abc', 'yte', 'juu']; let result = ""; for (let item of data) { result += "(" + item + ")"; } console.log(result);const list = ['abc', 'yte', 'juu']; const result = list.map(value => `(${value})`).join(""); console.log(result);