Как определить, находится ли объект в массиве [duplicate]

На этот вопрос уже есть ответ:

Как проверить, содержит ли массив объект в JavaScript? 45 ответов

Мне нужно определить, существует ли объект в массиве в javascript.

eg (фиктивный код):

var carBrands = [];

var car1 = {name:'ford'};
var car2 = {name:'lexus'};
var car3 = {name:'maserati'};
var car4 = {name:'ford'};

carBrands.push(car1);
carBrands.push(car2);
carBrands.push(car3);
carBrands.push(car4);

теперь массив "carBrands" содержит все экземпляры. Сейчас я ищу быстрое решение, чтобы проверить, есть ли экземпляр car1, car2, car3 или car4 уже в массиве carBrands.

например

var contains =  carBrands.Contains(car1); //<--- returns bool.

car1 и car4 содержат одни и те же данные, но в разных случаях их следует проверять как не равные.

Мне нужно добавить что-то вроде хэша к объектам при создании? Или есть более быстрый способ сделать это в Javascript.

Я ищу самое быстрое решение, если оно грязное, так оно и должно быть;) В моем приложении приходится иметь дело примерно с 10000 экземплярами.

нет jquery

Ответы на вопрос(11)

Ваш ответ на вопрос