我是 lodash 的新手,我正在编写一行,该行返回具有非空数组作为值的对象(不包括空数组值);
let results = {"1":[1,2,3],"2":[2,4,6],"0":[]};
let filteredResults = _.filter(results, (result) => {return (_.size(_.values(result)) > 0);});
console.log(filteredResults);
我的 filteredResults
预期值为:{'1': [ 1, 2, 3 ], '2': [ 2, 4, 6 ] }
。但是我得到了 [ [ 1, 2, 3 ], [ 2, 4, 6 ] ]
的结果。
按键1
和2
在哪里?
最佳答案
_.filter
方法可以接受一个对象作为其第一个参数,但它只会返回一个包含原始对象中接受的值的数组。您可能想改用 _.pickBy
方法,该方法将返回一个带有通过过滤器的键/值对的对象:
let filteredResults = _.pickBy(results, value => value.length > 0)
关于javascript - lodash:过滤具有非空数组值的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47169226/