Tengo este objeto a continuación:
var products = [ { "id":"xxx", "name":"AAA" }, { "id":"xxx", "name":"BBB" } ];Estoy tratando de mapear el objeto y generar una cadena concatenada de todos los valores 'nombre' usando la función de mapa y luego unirme para concatenar la coma:
var result = products.map(p => Object.values(p.name).join(','));Pero obtengo este resultado con console.log:
"A,A,A, ,B,B,B"
Hay una coma más allí y además toma cada carácter en lugar del valor del nombre de clave completo. ¿No estoy accediendo al objeto de matriz de la manera correcta?
Actualmente, está convirtiendo una cadena en una matriz y uniendo cada carácter con una coma entre ellos. Debe mover la combinación fuera de la función de iterador del mapa. Tampoco hay necesidad de la llamada Object.value().
const result = products .map((product) => product.name) .join(', ') var products = [ { "id":"xxx", "name":"AAA" }, { "id":"xxx", "name":"BBB" } ]; const result = products.map((product) => product.name).join(', ') document.getElementById('root').innerHTML = result <div id="root"></div>Utilice Array.map y Array.join
Lógica
products usando Array.map .Array.join var products = [{"id":"xxx","name":"AAA"},{"id":"xxx","name":"BBB"}]; console.log(products.map(item => item.name).join(','))Realmente no entiendo sus preguntas, pero supongo que está tratando de concatenar los valores de nombre. En caso afirmativo, use el siguiente código.
var result = products.map(p => Object.values(p.name).join('')).join('');