为什么lodash在这里返回-1?它显然在那里?
Ignores = ['load', 'test', 'ok'];
alert(_.findIndex(Ignores, 'ok') );
答案 0 :(得分:16)
那是因为findIndex()将数组和谓词作为参数,一个根据某些条件返回布尔值的函数。
假设您在needle
中搜索haystack
,您可以使用普通的JavaScript实现您想要的效果:
alert(haystack.indexOf(needle));
您可以使用_.indexOf
(来自@Juhana):
alert(_.indexOf(haystack, needle))
您也可以使用_.findIndex
执行此操作:
alert(_.findIndex(haystack, function(x) { return x === needle; }));
或:
alert(_.findIndex(haystack, _(needle).isEqual));
答案 1 :(得分:0)
loadash _.findIndex 可以按JSON结构的不同顺序很好地工作。如果您想基于嵌套结构获取数组对象的索引。lodash提供了相同的功能特殊的方法。
假设您的JSON结构是否像下面提到的模式一样。 lstMainArray: [{searhName:'Abc1',searchName:'Abc2'}]
,您想从嵌套的JSNO中搜索,例如:
searchObject: { searchField:{ searchName:'Abc1' } }
您可以使用以下语法来使用它。
_。findIndex(lstMainArray,['searchField.searchName','Abc1']);