我想在我的JavaScript應用程序中更多地使用函數式編程。我目前使用庫ramda作爲這個基礎庫。基於嵌套屬性值刪除列表中的項目的功能方法
我的願望:
- 創建功能removeUserFromList(用戶名,列表)返回在不用戶名匹配列表中的項目。
- 使實現儘可能短,儘可能依賴Ramda庫中的現有函數。
條件:
含有嵌套的用戶的對象列表中:
[{
providers: {
github: {
login: "username1"
}
}
},
{
providers: {
github: {
login: "username2"
}
}
}]
來達到的迄今:
var list = [{providers: {github: {login: "username1"}}},
{providers: {github: {login: "username2"}}}];
var getLoginName = R.useWith(R.path('providers.github.login'));
var isLoginNameEq = R.useWith(R.eq, getLoginName);
isLoginNameEq(list[0], "username1") // => true
//From this point on I am totally clueless,
//but I believe I should combine these functions
//with R.reject in some way.
Plunkr演示:
http://plnkr.co/edit/1b5FjxV3Tcgz7kozW1jX
問:
有沒有更適合的功能實現類似於R.EQ但嵌套對象(也許R.pathEq)的東西嗎?
謝謝,我會記住下次可讀性>簡潔。編寫較短程序非常有趣。 :)順便說一句。與拉達一起工作很好。 – horte 2014-10-16 09:16:34