Tengo un problema. Quiero reemplazar en mi dataList de datos ciertos valores como . , Ü y así sucesivamente. También quiero agregarlos a un nuevo valor de objeto firstname . ¿Cómo podría agregar el nombre reemplazado a firstname ? ¿Es este reemplazo una forma rápida, o hay alguna forma mejor y más rápida?
var dataList = [ { "Name": "Max", "Age": "42", "Subname": "Ünger Pes" },{ "Name": "Bertha", "Age": "53", "Subname": "Kl. Fr" }]; dataList.map(function(item) { var keyse = Object.keys(item); for (var i in keyse) { item['firstname'[i]] = item[keyse[i]].toLowerCase().replace('.','').replace(' ','').replace('ü','ue'); } });Lo que obtuve
[ { "Name": "Max", "Age": "42", "Subname": "Ünger Pes", "f": "max", "i": "42", "r": "uengerpes" }, { "Name": "Bertha", "Age": "53", "Subname": "Kl. Fr", "f": "bertha", "i": "53", "r": "klfr" } ]Lo que quiero
[ { "Name": "Max", "Age": "42", "Subname": "Ünger Pes", "firstname" : "uengerpes" },{ "Name": "Bertha", "Age": "53", "Subname": "Kl. Fr", "firstname" : "klfr" }] var dataList = [ { "Name": "Max", "Age": "42", "Subname": "Ünger Pes" },{ "Name": "Bertha", "Age": "53", "Subname": "Kl. Fr" }]; const result = dataList.map(({Subname, ...rest}) => ({ ...rest, Subname, firstname: Subname.replace(/(\.? |\,)/g,'').replace('ü','ue').toLowerCase() })) console.log('result = ', result)Puede usar array#map y para cada objeto introducir una nueva propiedad firstname derivada de Subname .
const data = [{ "Name": "Max", "Age": "42", "Subname": "Ünger Pes", "f": "max", "i": "42", "r": "uengerpes" }, { "Name": "Bertha", "Age": "53", "Subname": "Kl. Fr", "f": "bertha", "i": "53", "r": "klfr" }]; const result = data.map(({ Name, Age, Subname }) => ({ Name, Age, Subname, firstname: Subname.toLowerCase() .replace(/. /g, '') .replace('ü', 'ue') })); console.log(result); .as-console-wrapper { max-height: 100% !important; top: 0; }