回答
你可以使用pickBy()
來做你以後的事情。
var result = _.pickBy(obj, function(val){
return val.length > 0;
});
小提琴這裏:https://jsfiddle.net/W4QfJ/3160/
注:不像filter()
和reject()
,這將返回一個對象,讓你的原來的結構(而不是一個數組)。
謝謝,它的工作原理! – user5671335
_.filter()是你在找什麼:
var obj = {a: [], b: [1,2], c: [], d: [1]};
console.log(_.filter(obj, function(o){ return o.length; }))
如果你想在你的標題中使用_.reject(),你可以這樣做:
_.reject({a: [], b: [1,2], c: [], d: [1]},function(o){
return o.length == 0
});
_.reject和_.filter有什麼區別? – user5671335
拒絕只是過濾器的反面。因此,如果您想忽略該元素,則拒絕您返回true。與過濾器相比,如果要保留該對象,則返回true。 –
_.reject返回一個數組 – user5671335
另一種方式來做到這一點:_.omitBy(obj, _.isEmpty);
眼下,Lodash
有一個名爲_.omit方法,它不正是你所需要的:
> const object = {a: 1, b: 2, c: 3, d: 4}
undefined
> _.omit(object, ['a', 'c'])
{ b: 2, d: 4 }
- 1. Lodash _.pick()返回空對象
- 2. angular2返回lodash空對象
- 3. 對象拒絕
- 4. 拒絕或解決之前返回的延遲對象?
- 5. window.safari.pushNotification.requestPermission總是返回「拒絕」
- 6. weather.yahooapis.com返回「拒絕連接」
- 7. Mono WebService拒絕返回json
- 8. 返回到Actitiy時顯示被拒絕的對話框,
- 9. NHibernate拒絕刷新對象
- 10. 得到返回的返回類型是對象的引用嗎?
- 11. 從AngularJS $ HTTP返回對象得到
- 12. 直接返回拒絕的jQuery承諾
- 13. 返回值:: EXEC(總是QDialog的::拒絕
- 14. MySQL的LOAD XML返回 「拒絕訪問」
- 15. onRequestPermissionsResult立即返回拒絕的權限
- 16. 返回的拒絕承諾和藍鳥
- 17. StartService返回訪問被拒絕的SERVICE_KERNEL_DRIVER
- 18. 爲什麼lodash中的_.pick(object,_.identity)返回空對象?
- 19. Javascript lodash範圍的數組JSON對象不返回
- 20. Lodash - 從對象
- 21. lodash:對象
- 22. Lodash ORDERBY對象
- 23. SOFTLAYER API返回權限被拒絕getReverseDomainRecords
- 24. Javascript承諾拒絕後顯式返回
- 25. IIF聲明拒絕返回NULL
- 26. FindFirstFile返回訪問被拒絕
- 27. MsgWaitForMultipleObjects返回訪問被拒絕
- 28. Process.Kill()返回訪問被拒絕
- 29. SetSecurityInfo返回訪問被拒絕
- 30. tern_for_vim(ternjs)返回403訪問被拒絕
什麼是你想要做的,你嘗試過什麼到目前爲止。展示你的工作。 – Soviut