问题
我有一个数组:
const multiple = [[1, 2, null, 7], [6, 8, 9, 1]]
现在,我想从另一个数组中删除所有空值和相应元素,从而导致:
[[1, 2, 7], [6, 8, 1]]
我可以做到这一点,但是我正在寻找_.flow
的解决方案。
方法
这是我的方法,它不会返回数组数组,也不会从另一个数组中删除元素。
_.flow([
xorWith(_.isNull)
])([1, 2, null, 7], [6, 8, 9, 1])
1。更新
我的输入始终是[[ // Elements], [ // Elements]]
。我的方法还不清楚。
const multiple = [[1, 2, null, 7], [6, 8, 9, 1]];
const withoutNulls = (arr) => _.every(arr, _.negate(_.isNull));
const result = _.flow(
_.zip,
(tuples) => _.filter(tuples, withoutNulls),
_.unzip
)(...multiple)
console.log(result);
<script src="https://unpkg.com/lodash@4.17.5/lodash.js"></script>
是否适合您的需求,或者您希望将其完全设置为?我无法获得您的基本想法,因为流函数接受函数并将其称为链中,但这并不像您的情况一样。
_.flow((...args) => _.map(args, arr => _.filter(arr, v => !_.isNull(v))), console.log)([1, 2, null, 7], [6, 8, 9, 1])
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.5/lodash.min.js"></script>