Tengo una variedad de objetos como a continuación.
{ "Id": 11, "name ": "xxN " } ¿Cómo puedo usar el método de trim lodash para recortar tanto la clave como el valor?
{ "Id": 11, "name": "xxN" }Esperado:
¿Tiene que usar Lodash? Con vainilla JavaScript:
result = Object.fromEntries(Object.entries(data).map(([key, value]) => [key.trim(), typeof value == 'string' ? value.trim() : value]))Para completar, aquí hay una solución de Lodash usando _.transform()
const obj = { "Id": 11, "name ": "xxN " } const transformed = _.transform(obj, (result, value, key) => { result[key.trim()] = typeof value === "string" ? value.trim() : value }) console.log(transformed) <script src="https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"></script>Esto tiene la ventaja adicional de producir un nuevo objeto con el mismo prototipo que el original, lo que puede o no ser útil.
Usando el método de recorte lodash
const arr = [ { Id: 11, "name ": "xxN ", }, { Id: 12, "name ": " yyK ", }, ]; const result = arr.map((o) => Object.fromEntries( Object.entries(o).map(([k, v]) => [k, typeof v === "string" ? _.trim(v) : v]) ) ); console.log(result); <script src="https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"></script>