有什么方法可以使对象树的 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/