You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用lodash对对象数组的键和值同时执行trim去首尾空格操作

实现方案

你可以通过遍历对象的所有键值对,分别对键、以及字符串类型的值执行_.trim操作即可,数字/布尔等非字符串类型的值不需要做trim处理,避免类型被意外转换。

单对象处理代码示例

const _ = require('lodash');

function trimObjectKeysAndValues(obj) {
  return _.transform(obj, (result, value, key) => {
    // 去除键的首尾空格
    const trimmedKey = _.trim(key);
    // 仅对字符串类型的值执行trim,其他类型保留原值
    const trimmedValue = _.isString(value) ? _.trim(value) : value;
    result[trimmedKey] = trimmedValue;
  }, {});
}

// 测试用例
const originObj = {
  "Id": 11,
  "name ": "xxN "
};
const result = trimObjectKeysAndValues(originObj);
console.log(result); // 输出 { Id: 11, name: 'xxN' }

处理对象数组的方法

只需要对数组的每一项调用上面的封装方法即可:

const originArr = [
  { "Id": 11, "name ": "xxN " },
  { "Id": 12, " age ": 23, " address ": " 北京朝阳区 " }
];
const resultArr = originArr.map(item => trimObjectKeysAndValues(item));

扩展说明

如果你的对象存在嵌套层级,可以在函数内增加递归判断,当值是对象类型时递归调用trimObjectKeysAndValues即可适配嵌套场景。_.trim方法在lodash v3及以上版本均可正常使用。

内容的提问来源于stack exchange,提问作者Nick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 14:15:02