Tengo la siguiente matriz:
[ ["Polymeric", "Vehicle Graphics (Basic)"], ["Cast", "Vehicle Graphics (Part Wrap), Vehicle Graphics (Full Wrap)"], ["Polymeric", "Vehicle Graphics (Part Wrap)"] ]Notará que las segundas líneas del segundo valor de la matriz tienen un valor separado por una coma. Quiero recrear la matriz así.
[ ["Polymeric", "Vehicle Graphics (Basic)"], ["Cast", "Vehicle Graphics (Part Wrap)"], ["Cast", "Vehicle Graphics (Full Wrap)"], ["Polymeric", "Vehicle Graphics (Part Wrap)"] ]Esto es lo que tengo hasta ahora:
const media = [ ["Polymeric", "Vehicle Graphics (Basic)"], ["Cast", "Vehicle Graphics (Part Wrap), Vehicle Graphics (Full Wrap)"], ["Polymeric", "Vehicle Graphics (Part Wrap)"] ]; var filteredArray = media.filter(function(r) {return r[1]}) filteredArray.forEach(function(value) { var fgh = value.slice(1); var cddd = [value.shift()]; // takes first part var ttt = fgh.toString() var str_array = ttt.split(', '); const array3 = cddd.concat(fgh); console.log(str_array); });Entiendo que necesito usar concat, dividir y finalmente empujarlo hacia atrás, pero intente lo que intente, no obtengo el resultado que necesito, así que necesito ayuda y ahora estoy perdido.
Si puede asegurarse de que sus matrices anidadas siempre tendrán dos elementos, entonces es bastante simple:
const source = [ ["Polymeric", "Vehicle Graphics (Basic)"], ["Cast", "Vehicle Graphics (Part Wrap), Vehicle Graphics (Full Wrap)"], ["Polymeric", "Vehicle Graphics (Part Wrap)"] ]; // Flat map instructs that // the nested arrays we're going to return // should be spread onto the root one source.flatMap(([key, value]) => { // [key, value] de-structs the array passed as a parameter // Here we're getting an array of all possible values; // if there's no ", " then we get a single element, // otherwise we get the whole collection of values const values = value.split(', ') // Now, for each of the individual values we create the key-value pairs return values.map(singleValue => [key, singleValue]) })