javascript - 如何使用 lodash 使用具有布尔值的另一个数组对数组进行子集化
问题描述
我在文档中找不到,是否有一种内置的简单方法可以使用布尔数组对数组进行子集进行过滤?在 lodash 或 es6 中
我曾经经常使用这个功能R
,它似乎非常有用。最近我遇到了几个用例,当我可以使用类似的东西但无法确定它是否支持开箱即用。
就像是
subset([1, 2, 3, 4, 5], [true, false, false, false, true]) // => [1, 5]
解决方案
一个快速的方法是这样的
const f = (as, bs) => as.filter((_, i) => bs[i])
f([1, 2, 3, 4, 5], [true, false, false, false, true]) // => [1, 5]
这假设两个数组具有相同的长度,这可能是也可能不是您想要的。
推荐阅读
- office-ui-fabric - 由于结构中的一些问题,单元测试用例在我的 React 应用程序中失败
- c# - Xamarin Android 绑定库 - 未在 DigitalPersona UareU JAR 中实现继承的抽象成员
- laravel - 使用 make:request 的自定义验证返回未找到控制器
- react-native - React Native:绘制精确适合给定矩形的文本
- latex - 周围标志乳胶
- reactjs - 在 React Native 中,当 DrawerNavigator 与 StackNavigator 一起使用时,它无法更改 Header 的背景颜色
- javascript - “字符串”类型的参数不能分配给“AbstractControl”类型的参数。角反应形式
- sql - 在 Access 2003 中从 SQL 存储过程创建动态报表
- sql - 如何在 SQL INSERT 中使用整数变量
- extjs - Sencha 键控多对一关系,具有复杂的(命名空间)名称