首页 > 解决方案 > 如何使用 lodash 同时遍历两个数组

问题描述

我有

A = [1,2,3,4,5,6,7]
B = [3,5,9]
I want to get an array C containing the last elements < than elements in B, like
C = [2,4,7], by using Lodash

我试过了

C=_.map(A, a = (v) -> v == _.findLast(A, b = (v) -> v < _.forEach(B, c = (v) -> v==v)))

这是行不通的。上面我使用的是coffeescript而不是javascript,但请回复,我想要一个使用lodash的解决方案,没有显式循环B元素,谢谢。

标签: lodash

解决方案


我知道你说过你想要一个 lodash soultion,但以防你好奇,这里有一种使用 vanilla ES6 获得所需数组的方法:

const A = [1, 2, 3, 4, 5, 6, 7];
const B = [3, 5, 9];
const C = findEls(A, B);

function findEls(A, B) {
  const copy = [...A].reverse(); //Copy since reverse is an in-place operation
  return B.map(b => {
    return copy.find(a => a < b);
  });
}

console.log(C);


推荐阅读