lodash,获取匹配元素的索引?

用户名

这是我的情况

var myArray = [undefined, true, false, true];

我想获取项目的索引,该索引值为true。使用上面的数组,结果应该是

[1, 3]

因为第二项和第四项相等。如何用lodash查找匹配项的索引?

谢谢

nnnnnn

以下是使用香草JS想到的第一种方法:

var myArray = [undefined, true, false, true];

var result = myArray.map((v,i) => v ? i : -1).filter(v => v > -1);

console.log(result);

或者,如果您不想使用箭头功能:

var result = myArray.map(function(v,i) { return v ? i : -1; })
                    .filter(function(v) { return v > -1; });

也就是说,首先映射原始数组以输出true元素的索引,其他元素的索引为-1,然后过滤结果以仅保留非-1的索引。

请注意,map函数(v,i) => v ? i : -1正在测试真实元素-如果仅需要布尔值元素,请true使用(v,i) => v===true ? i : -1

我想Lodash的等效项如下(编辑:感谢zerkms大大改进了语法):

var myArray = [undefined, true, false, true];

var result = _(myArray).map((v,i) => v ? i : -1).filter(v => v > -1).value();

console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.14.0/lodash.js"></script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取匹配元素的索引

来自分类Dev

如何使用jQuery获取匹配元素的索引

来自分类Dev

如何从json对象获取匹配元素的索引?

来自分类Dev

jQuery获取匹配元素类型中的索引

来自分类Dev

获取元素eq()索引

来自分类Dev

从Observable获取元素的索引

来自分类Dev

从NodeList获取元素的索引

来自分类Dev

获取click元素的索引

来自分类Dev

返回与值匹配的元素的索引

来自分类Dev

使用 lodash 获取重复值索引

来自分类Dev

获取python Fuzzywuzzy匹配的索引

来自分类Dev

获取随机匹配值的索引

来自分类Dev

流方式获取与布尔值匹配的第一个元素的索引

来自分类Dev

Ruby:如何获取与条件匹配的前x个数组元素的索引?

来自分类Dev

找到所有匹配指定xpath的元素后,如何使用索引获取它们?

来自分类Dev

如何在csv中获取其条目与文本文件中的条目匹配的元素的索引

来自分类Dev

找到所有匹配指定xpath的元素后,如何使用索引获取它们?

来自分类Dev

获取R中字符串中所有匹配的字符元素的索引

来自分类Dev

获取表单元素的索引

来自分类Dev

在Dart中获取元素索引

来自分类Dev

获取arrayList中元素的索引

来自分类Dev

获取矩阵排序元素的索引

来自分类Dev

通过索引获取元素[Python]

来自分类Dev

获取与元素范围索引的交集

来自分类Dev

寻找矩阵元素匹配条件的索引-Matlab

来自分类Dev

替换索引与给定索引不匹配的数组中的元素

来自分类Dev

替换索引与给定索引不匹配的数组中的元素

来自分类Dev

获取重叠匹配的开始和停止索引?

来自分类Dev

如何获取与某些谓词匹配的类型的索引?