Доброго времени суток!
Столкнулся с проблемкой: формирую массив объектов, при добавлении нового, хочу проверить, есть ли такой объект в массиве. И если есть - то добавлять не надо (т.е. надо добавлять только уникальные объекты). Применяю для проверки метод
indexOf(), а он, зараза, всё время -1 выдаёт.
Кто тупит: я или он (метод indexOf)?
var mas = [];
var obj1 = {a: "a1", b: "b1"};
var obj2 = {a: "a2", b: "b2"};
mas.push(obj1);
mas.push(obj2);
alert( mas.indexOf({a: "a1", b: "b1"}) ); // всегда -1
П.С.
Я так думаю, это связано с тем, что сравниваются не сами объекты, а ссылки на них.