Javascript 使用lastIndexOf查找数组中元素的最后一次出现
是否可以以某种方式使用Javascript 使用lastIndexOf查找数组中元素的最后一次出现,javascript,google-apps-script,Javascript,Google Apps Script,是否可以以某种方式使用lastIndexOf方法来获取数组中变量的值?例如,如果我有 [[1,2,3,4],[4,6,4,7,5],[5,7,4,6,3],[6,2,5,4,3] 我想找到最后一个数组的索引,其中[1]是2?在上面的例子中,我希望答案是3,因为第三个数组的[1]等于2 我可以看到如何使用嵌套循环或数组方法实现这一点,但我只是想知道是否有一些语法我不知道。干杯不 因为只接受一个元素,而不接受回调,所以在这种情况下不能直接使用lastIndexOf() 鉴于此,并且没有标准的find
lastIndexOf
方法来获取数组中变量的值?例如,如果我有
[[1,2,3,4],[4,6,4,7,5],[5,7,4,6,3],[6,2,5,4,3]
我想找到最后一个数组的索引,其中[1]
是2?在上面的例子中,我希望答案是3,因为第三个数组的[1]
等于2
我可以看到如何使用嵌套循环或数组方法实现这一点,但我只是想知道是否有一些语法我不知道。干杯不
因为只接受一个元素,而不接受回调,所以在这种情况下不能直接使用lastIndexOf()
鉴于此,并且没有标准的findlastinex()
prototype函数,您必须自己编写此函数。这里有一种方法,使用and,同时避免对原始数组进行变异:
const arr=[[1,2,3,4],[4,6,4,7,5],[5,7,4,6,3],[6,2,5,4,3];
函数findLastIndex(arr,回调){
return(arr.length-1)-//需要从长度中减去找到的向后索引
arr.slice().reverse()//获取数组的反向副本
.findIndex(回调);//在rev.array中查找满足回调的元素
}
log(findlastinex(arr,(e)=>e[1]==2))代码>否,没有任何东西会接受函数,以便您可以根据任意规则集测试元素。您只能执行此操作。for
从末尾循环for(让i=arr.length-1;i>=0;i--)
和在找到匹配项时中断。就在我开始分散注意力的时候:-)出于兴趣,在函数外反转数组不是更快吗?这样只会发生一次?欢迎这样做,但如果我搜索数组,即使是向后搜索,我也希望原始数组不会被函数修改,这就是我采用这种方法的原因:)