首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lodash:如何简化

Lodash:如何简化
EN

Stack Overflow用户
提问于 2019-07-07 22:29:30
回答 1查看 44关注 0票数 0

如何简化下一步代码:

代码语言:javascript
复制
rules = rules.map(x => Object.assign(x, x.ruleOption.options))
rules.forEach(x => delete x.ruleOption)
rules = _.keyBy(rules, 'code')

我开始积极使用Lodash,并尝试理解正确的使用方式。

EN

回答 1

Stack Overflow用户

发布于 2019-07-07 22:32:39

您可以结合使用destructuringrest syntax来获取ruleOption,并使用ruleOption创建一个新对象。然后,您可以使用object spreadruleOptions.options与对象的其余部分组合:

代码语言:javascript
复制
const rules = [{ code: 'x', ruleOption: { options: { type: 'a' }}}, { code: 'y', ruleOption: { options: { type: 'b' }}}];

const newRules = _.keyBy(
  rules.map(({ ruleOption, ...obj }) => ({ ...obj, ...ruleOption.options })),
  'code'
)

console.log(newRules)
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>

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

https://stackoverflow.com/questions/56923019

复制
相关文章

相似问题

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