Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

235
Views
JavaScript - find index of array inside another array

I am trying to find the index of an array inside another array in Javascript, as below:

const piece = [5, 10];
const array = [[5, 10], [5, 11]];

//Using indexOf
console.log(array.indexOf(piece));

//Using findIndex
console.log(array.findIndex(function(element) {
  return element == piece;
  }));

I'm expecting these to return a 0 as that is the index where my "piece" is inside the larger array, but both methods return -1

Any ideas why this is happening? And if there is a different way for me to do this?

Thanks.

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

To compare the actual values you can use the JSON.stringify() method:

piece = [5, 10];
array = [[5, 10], [5, 11]];

//Using findIndex
console.log(array.findIndex(function(element) {
    return JSON.stringify(element) == JSON.stringify(piece);
    }));

about 4 years ago · Juan Pablo Isaza Report

0

You are comparing objects (arrays) that were created each on their own, so they are not the same objects. If you want, you can compare each of the integers inside the arrays, and when also the array lengths match, you can conclude they are the "same":

piece = [5, 10];
array = [[5, 10], [5, 11]];

//Using findIndex
console.log(array.findIndex(function(element) {
  return element.length === array.length 
      && element.every((val, i) => val == piece[i]);
}));

about 4 years ago · Juan Pablo Isaza Report

0

Arrays in JavaScript are not compared by value, but by reference. So if you have arrays a and b like this:

const a = [1, 2];
const b = [1, 2];

When you compare them using ==, or === then their references are compared, not values. So this console.log(a == b), or console.log(a === b) will print false.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!