Javascript Ramda 如何使 R.find(R.propEq()) 不区分大小写?

标签 javascript tree ramda.js

有什么方法可以使对象树的 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 Ramda 如何使 R.find(R.propEq()) 不区分大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47165816/

相关文章:

javascript - 检查 Angular 中的 "mode"可见打印还是隐藏打印

algorithm - 无限深度和无限广度玫瑰树懒折叠到它的边缘路径

javascript - lambda : Composing an object produces the same "random" results

javascript - 如何删除外部阵列?

ramda.js - 使用 bind this 将参数传递到管道

javascript - Woocommerce 产品选项有条件

javascript - 比较两种加载本地 jQuery 库的回退机制方法

javascript - 如何在 perl 中使用 WWW::Scripter 模块设置引荐来源网址?

java - 在小于 O(n) 的时间内获得数据结构中元素之间的最小差异

scala - Scala的N树遍历导致堆栈溢出