有什么方法可以使对象树的R.find(R.propEq())不区分大小写? (当前我正在使用Ramda Libraries)

这是我的obj树的一部分:

  const objectTree = [ { __type: 'ix:ChecklistGridSection',
  For: 'QuestionAnswers',
  childNodes:
   [ { __type: 'Sorting', childNodes: [Array] },
     { __type: 'grouping', childNodes: [Array] },
     { __type: 'Tabs', childNodes: [Array] },
  ...

我有一个这样的功能,我不能更改参数:
R.find(R.propEq('__type', 'ix:checklistgridsection'))(objectTree);
它仅适用于“ix:CheckListGridSection”作为参数,而不适用于“ix:checklistgridsection”。我需要它对树的其他叶子也起作用。

我认为这是使所有树都变为小写的错误决定。所以我在想是否有任何方法可以使R.find(R.propEq())不区分大小写。

最佳答案

R.propEq使prop值等于传递的值,这就是为什么使用R.test的原因。
因此,您可以将R.propSatisfies与R.test一起使用

R.find(R.propSatisfies(x => R.test(new RegExp('ix:checklistgridsection','i'), x), '__type'), objectTree)

关于javascript - Javascript Ramda如何使R.find(R.propEq())不区分大小写?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47165816/

10-09 21:41