gpt4 book ai didi

ramda.js - 使用 Ramda 转换对象 pointfree 风格

转载 作者:行者123 更新时间:2023-12-04 16:33:27 25 4
gpt4 key购买 nike

鉴于下面的功能,如何将其转换为无点样式?使用 Ramda 的 prop 会很好和 path并跳过数据参数,但我无法弄清楚正确的语法。

const mapToOtherFormat = (data) => (
{
'Name': data.Name
'Email': data.User.Email,
'Foo': data.Foo[0].Bar
});

最佳答案

一种选择是使用 R.applySpec ,它创建了一个新函数,该函数通过将提供的“规范”的每个键处的函数应用于结果函数的给定参数来构建对象。

const mapToOtherFormat = R.applySpec({
Name: R.prop('Name'),
Email: R.path(['User', 'Email']),
Foo: R.path(['Foo', 0, 'Bar'])
})

const result = mapToOtherFormat({
Name: 'Bob',
User: { Email: 'bob@example.com' },
Foo: [{ Bar: 'moo' }, { Bar: 'baa' }]
})

console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.22.1/ramda.min.js"></script>

关于ramda.js - 使用 Ramda 转换对象 pointfree 风格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38834487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com