JavaScript object equality testing

by junto

HTML

<script src="https://getfirebug.com/firebug-lite-debug.js"></script>

JavaScript

var myarr = [];
for (var i=0; i < 10; i++) {
    myarr.push({Id: i, Name: 'Test' + i});      
}

var obj = {Id:1, Name:'Test1'}
    
/*for (var i=0; i < 10; i++) {
    console.log(myarr[i]);      
}*/
    
console.log(myarr[1]);    
console.log(obj); 

var idx = $.inArray(obj, myarr);    
console.log(idx);

var idx2 = myarr.indexOf(obj);    
console.log(idx2);

console.log(contains(myarr, obj));

function contains(a, obj) {
    var i = a.length;
    while (i--) {
       if (JSON.stringify(a[i]) === JSON.stringify(obj)) {
           return true;
       }
    }
    return false;
}