gpt4 book ai didi

ramda.js - Ramda `evolve` 嵌套对象

转载 作者:行者123 更新时间:2023-12-01 23:30:03 26 4
gpt4 key购买 nike

我有一个类似这样的列表:

var list = [
{
stack: [
{
file: 'abc'
}
]
},
{
stack: [
{
file: 'abc'
},
{
file: 'abc'
}
]
}
];

我想用例如“def”更改每个文件名。如何使用 ramda 做到这一点?

我试过类似的东西:

var trans = {
file: replace('abc', 'def')
};

var f = R.evolve(trans)

var f2 = R.map(f)
R.map(f2, list)

但它不起作用。我需要以某种方式在解决方案中包含 stack 字段。

最佳答案

嗯,这不是很漂亮,但我认为这会做到:

R.map(R.over(
R.lensProp('stack'),
R.map(R.over(R.lensProp('file'), R.replace('abc', 'def')))
))(list)

您可能还可以在内部使用 evolve,但是 lens 非常强大,而且更普遍。

关于ramda.js - Ramda `evolve` 嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39875993/

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