1

Say we have this array:

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

And we have this conditional:

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)
    }
}

There respective indexes would be 1 and 2, which would display in the console.log() in sequential order.

How would I grab the minimum index (1 in this case), specifically, from that? I cannot store the numbers in an array due to my use case, so I need to establish the minimum within the loop. And you can't really set a min number because you won't know which element index will be the smallest beforehand.

Is this possible or am I overthinking it hard?

2
  • Sounds like a good match for findIndex. It returns the index once the first result is found. Commented Nov 12, 2021 at 18:47
  • i = arr.findIndex(a => a[0] === 3 && a[1] === 4 || a[0] === 3 && a[1] === 5) Commented Nov 12, 2021 at 18:48

1 Answer 1

1

You can declare a variable outside the loop, then assign i to it and break the loop if the condition is true:

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)

Alternatively, you can use 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)

Sign up to request clarification or add additional context in comments.

1 Comment

I knew it was something simple... Thanks a ton - this works perfectly.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.