首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用lodash修剪对象数组中的键和值

问如何使用lodash修剪对象数组中的键和值
EN

Stack Overflow用户
提问于 2021-10-08 03:41:57
回答 4查看 55关注 0票数 1

我有一个对象数组,如下所示。

代码语言:javascript
复制
 {
    "Id": 11,
    "name ": "xxN "
  }

如何使用lodash trim方法同时裁剪键和值。

代码语言:javascript
复制
 {
    "Id": 11,
    "name": "xxN"
  }

预期:

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2021-10-08 04:02:09

为了完整起见,这里有一个使用_.transform()的Lodash解决方案

​

代码语言:javascript
复制
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)
代码语言:javascript
复制
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"></script>

​

这还有一个额外的好处,那就是生成一个与原始原型相同的新对象,这可能会很方便,也可能不会。

票数 2
EN

Stack Overflow用户

发布于 2021-10-08 03:47:52

它必须使用Lodash吗?使用vanilla JavaScript:

代码语言:javascript
复制
result = Object.fromEntries(Object.entries(data).map(([key, value]) => 
    [key.trim(), typeof value == 'string' ? value.trim() : value]))
票数 4
EN

Stack Overflow用户

发布于 2021-10-08 03:53:00

使用lodash trim方法

​

代码语言:javascript
复制
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);
代码语言:javascript
复制
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"></script>

​

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69490223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档