Javascript 使用ramda对嵌套对象进行数组过滤
假设我们有以下对象: 常量样本={ 傅:{ 标签:[ “aaa”,“bbb” ], 答:1,, b:10 }, 酒吧:{ 标签:[ “ccc”、“ddd” ], a:11, b:100 } } 如何使用ramda从对象样本中删除特定的标记值? 我已经这样做了 ///删除名为“aaa”的标记 R.mapv=>R.assoc'tags',R.不带'aaa',v.tags,v,sample 这达到了预期的效果,但我如何消除lamda和map内部创建的闭包?您可以使用而不是。assoc希望在提供的对象上设置一个属性和普通值,而evolves则希望一个属性和函数生成新的值,尽管使用的语法稍有不同Javascript 使用ramda对嵌套对象进行数组过滤,javascript,ramda.js,Javascript,Ramda.js,假设我们有以下对象: 常量样本={ 傅:{ 标签:[ “aaa”,“bbb” ], 答:1,, b:10 }, 酒吧:{ 标签:[ “ccc”、“ddd” ], a:11, b:100 } } 如何使用ramda从对象样本中删除特定的标记值? 我已经这样做了 ///删除名为“aaa”的标记 R.mapv=>R.assoc'tags',R.不带'aaa',v.tags,v,sample 这达到了预期的效果,但我如何消除lamda和map内部创建的闭包?您可以使用而不是。assoc希望在提供的对象上
R.map(R.evolve({tags: R.without('aaa')}), sample)
你可以用它来代替。assoc希望在提供的对象上设置一个属性和普通值,而evolves则希望一个属性和函数生成新的值,尽管使用的语法稍有不同
R.map(R.evolve({tags: R.without('aaa')}), sample)
可以在每个对象上使用R.without来变换标记的值:
const{map,evolve,不带}=R
常数fn=mapfolve{
标签:没有“aaa”
}
const sample={foo:{tags:[aaa,bbb],a:1,b:10},bar:{tags:[ccc,ddd],a:11,b:100}
const result=fn样本
console.logresult
可以在每个对象上使用R.without来变换标记的值:
const{map,evolve,不带}=R
常数fn=mapfolve{
标签:没有“aaa”
}
const sample={foo:{tags:[aaa,bbb],a:1,b:10},bar:{tags:[ccc,ddd],a:11,b:100}
const result=fn样本
console.logresult