Contem valor em array Javascript

Boa noite, em Javascript:

Deve ser bem simples para a maioria, mas gostaria de saber o seguinte:
Como faço para identificar se um array contem um valor, no caso abaixo pelo que vi é simples assim
var arr = [1, 2, 3, 4, 5];
arr.contains(2); //true
arr.indexOf(3); //2

Mas quando tenho por exemplo um array com elementos identificados:

minhaarray.push({cor: ‘amarelo’, tipo: ‘simples’, categoria: ‘B’});
minhaarray.push({cor: ‘vermelho’, tipo: ‘integral’, categoria: ‘B’});
minhaarray.push({cor: ‘laranja’, tipo: ‘simples’, categoria: ‘C’});

Digamos que quero apenas saber se existe a cor vermelho no array minhaarray, preciso varrer num for each ou existe uma forma simples como o primeiro exemplo?

Acredito que existam usuários co bons conhecimentos em javascript e que até estejam dispostos a ajudar nessa questão.

Mas eu sugiro que busque um forum de javascript para que possa se desenvolver melhor na linguagem que não é foco desse forum.

Opa, desculpem, não localizei aqui Javascript então achei que em programação fosse o espaço certo.
Mais uma vez desculpe, obrigado!

Exemplo:
Busca de uma matriz para o item “Apple”:
var frutas = [“Banana”, “Orange”, “Apple”, “Mango”];
var a = fruits.indexOf (“Apple”);
O resultado de um será: 2
O que significa que “Apple” está localizado na posição 2 na matriz.

Definição e Uso:
O método indexOf() procura a matriz para o item especificado, e retorna a sua posição.
A busca vai começar na posição especificada, ou no início se nenhuma posição inicial é especificado, e terminar a pesquisa no final da matriz.
Retorna -1 se o item não foi encontrado.

Se o item está presente mais do que uma vez, o método indexOf retorna a posição da primeira ocorrência.
Nota: O primeiro item tem posição 0, o segundo item tem a posição 1, e assim por diante.

Dica: Se você deseja pesquisar do último item para o começo, use o método lastIndexOf()

E assim nasceu o JSON…