在忽略数组中的元素值的同时获取最小索引

Getting minimum index while ignoring element value in array

假设我们有这个数组:

arr = [[3, 3], [3, 4], [3, 5], [3, 6]]

我们有这个条件:

arr = [[3, 3], [3, 4], [3, 5], [3, 6]]

for(let i = 0; i < arr.length; i++){
    if (arr[i][0] === 3 && arr[i][1] === 4 || arr[i][0] === 3 && arr[i][1] === 5){
        console.log(i)
    }
}

各自的索引为12,它们将按顺序显示在console.log()中。

我如何从中获取最小索引(在本例中为 1)?由于我的用例,我无法将数字存储在数组中,因此我需要在循环中建立最小值。而且你不能真正设置最小值,因为你事先不知道哪个元素索引是最小的。

这可能吗,还是我想多了?

您可以在循环外声明一个变量,然后将i赋值给它,如果条件为真则中断循环:

arr = [[3, 3], [3, 4], [3, 5], [3, 6]]

var ind = 0

for(let i = 0; i < arr.length; i++){
    if (arr[i][0] === 3 && arr[i][1] === 4 || arr[i][0] === 3 && arr[i][1] === 5){
        ind = i;
        break;
    }
}

console.log(ind)

或者,您可以使用 Array.findIndex:

arr = [[3, 3], [3, 4], [3, 5], [3, 6]]

var ind = arr.findIndex(e => e[0] === 3 && e[1] === 4 || e[0] === 3 && e[1] === 5)

console.log(ind)