Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用lastIndexOf查找数组中元素的最后一次出现_Javascript_Google Apps Script - Fatal编程技术网

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--)
在找到匹配项时中断。就在我开始分散注意力的时候:-)出于兴趣,在函数外反转数组不是更快吗?这样只会发生一次?欢迎这样做,但如果我搜索数组,即使是向后搜索,我也希望原始数组不会被函数修改,这就是我采用这种方法的原因:)