lodash - 如何使用 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 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);
推荐阅读
- cordova - 如何订阅 eddystone/ibeacon?
- javascript - Javascript | 通过点符号映射到对象
- elasticsearch - 如何在 kibana 中读取输入文件?
- java - 为什么我收到错误工厂方法'halLinkDisocoverer'在springboot中抛出异常?
- javascript - Nuxt.js | 打开一个新页面作为带有路由的模式窗口
- reactjs - 我如何乘以状态
- laravel - 如何在 Laravel 5 中删除 X 时间之前的一些记录
- opengl - GL_MAX_VERTEX_UNIFORM_COMPONENTS 和组件尺寸
- html - Center responsive elements in horizontal scroll container
- javascript - 如果已在 Google Chrome 扩展程序中使用 JavaScript 替换查询字符串