I am trying to do a very simple indexOf search without success.
I have a two dimensional Array like this:
var fruits = new Array([]);
fruits.push(["Banana", "Orange", "Apple", "Mango"]);
fruits.push(["Apple", "3Orange", "Amar", "Mango"]);
fruits.push(["Apple", "1Orange", "Amar", "Mango"]);
fruits.push(["Apple", "2Orange", "Amar", "Mango"]);
Now I am creating another Array as below which matches the third record of the above array:
var str = new Array([]);
str.push(["Apple", "2Orange", "Amar", "Mango"]);
Now I try to find if str exists in fruits:
var i = fruits.indexOf( str );
alert(i);
But I returns -1 instead of a valid index value. What am I doing wrong?
Edit
I have figured out a very simpler way. Here is what appears to also work:
var strFruits = fruits.toString();
var newStr = str.toString();
var i = fruits.indexOf( str );
alert(i);
This obviously has a pitfall of finding matching value across two records. But in my case I know that won't be possible because of the nature of data set that I am using. Not a good practice as a general solution but in specific cases it might be handy.