lodash:如何从两个带有_.flow的数组中删除空值和零值的索引



问题

我有一个数组:

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>

最新更新