El resultado es devolver {firstname: 'Mike,Henry,Pete', lastname: 'Port,Split,Micky'} Quiero que el resultado devuelva {firstName: Mike, lastName: Port }, { firstName: Henry, lastName: Split }, { nombre: Pete, apellido: Micky }
var data = "Mike Port, Henry Split, Pete Micky"; var firstName = []; var lastName = []; var result = []; var newNames = data.replaceAll(", ", ","); var fullName = newNames.split(','); fullName.forEach(name => { let splitted = name.split(" "); firstName.push(splitted[0]); lastName.push(splitted[1]); }); f_name_list = firstName.toString().split(", "); l_name_list = lastName.toString().split(", "); for (let i = 0; i < f_name_list.length; i++) { result.push({ firstname: f_name_list[i], lastname: l_name_list[i] }); } console.log(result);Dividir datos con ", " luego dividir con " "
var data = "Mike Port, Henry Split, Pete Micky"; var result = []; var newNames = data.split(", "); newNames.forEach(name => { let splitted = name.split(" "); result.push({ firstname:splitted[0], lastname: splitted[1] }); }); console.log(result);Puede hacerlo en una línea combinando String#split() con Array#map() y asignación de desestructuración
Código:
const data = 'Mike Port, Henry Split, Pete Micky' const result = data .split(', ') .map(s => s.split(' ')) .map(([firstname, lastname]) => ({ firstname, lastname })) console.log(result)A largo plazo, quizás sea mejor no especificar las claves en el código. ¿Qué pasaría si agregara una nueva propiedad llamada age a los datos? Eso significaría tener que ingresar al código y actualizarlo para adaptarse al cambio, lo cual es una molestia.
Este ejemplo elimina esa complicación al realizar un seguimiento de las claves y recorrerlas y los valores para crear un nuevo conjunto de datos. Sin codificación fija de las claves en ninguna parte.
const data = { firstname: 'Mike,Henry,Pete', lastname: 'Port,Split,Micky', age: '10,100,20', location: 'France,Germany,Iceland', role: 'chef,musician,writer', tree: 'larch,maple,oak' }; // Get the keys and values from the object const keys = Object.keys(data); const values = Object.values(data).map(str => str.split(',')); // Temporary array const out = []; // Loop over the first array in the values array for (let i = 0; i < values[0].length; i++) { // Initialise an empty object // for each nested array const obj = {}; // Loop over the keys, create a new object with // that key, and the element of the nested value array // and merge it with the object for (let j = 0; j < keys.length; j++) { const prop = { [keys[j]]: values[j][i] }; Object.assign(obj, prop); } // Push the object to the array out.push(obj); } console.log(out);Documentación adicional