gpt4 book ai didi

ramda.js - ramda findIndex 有间隙

转载 作者:行者123 更新时间:2023-12-02 08:13:04 27 4
gpt4 key购买 nike

我有下面的代码,我想在其中填写id,所以我想写这样的东西:

const data = [
{ id: 'some-id' },
{ id: 'some-other-id' },
{ id: 'third-id' },
];

const tabIndex = R.findIndex(R.propEq('id', R.__))(data);

所以我可以像这样使用它tabIndex('third-id'),但这不是一个函数。我想念或混淆了什么?

以下作品

const tabIndex = (id) => R.findIndex(R.propEq('id', id))(data);

但我想,这就是 R.__ 间隙函数的意义所在。

最佳答案

我认为到目前为止最简单的方法是

const matchId = (id, data) => R.findIndex(R.propEq('id', id), data);
matchId('third-id', data); //=> 2

如果你真的想免分,Ramda 提供了几个函数来帮助,比如 useWithconverge (通常可以用 lift 代替。)这个需要 useWith:

const matchId = R.useWith(findIndex, [R.propEq('id'), R.identity]);
matchId('third-id', data); //=> 3

但我发现第一个版本更具可读性。您可以在 Ramda REPL 上找到两者.


请注意side note from Emissary . R.__ 占位符本质上用于显示您提供的参数之间的差距;作为最后一个参数,它什么都不做。

关于ramda.js - ramda findIndex 有间隙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44366902/

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