Rigorosa Comparação de Igualdade (===) ("estrita igualdade", "identidade", "triplo é igual a") : Estrita igualdade compara dois valores para a igualdade. Nenhum valor é convertido implicitamente para algum outro valor, antes de ser comparado. Se os valores de tipos diferentes, os valores são considerados desiguais. Se os valores que têm o mesmo tipo, não são números, e têm o mesmo valor, eles são considerados iguais. Caso contrário, para o valor de comparação.
var num = 0;
var str = '0';
console.log(num === str); // false
Resumo Comparação de Igualdade (==) ("solto igualdade", "o dobro é igual a") : O comportamento para a realização de solta igualdade usando ==
é o seguinte. Solta a igualdade compara dois valores para a igualdade após a converter valores de um tipo comum. Depois de conversões (um ou ambos os lados podem sofrer conversões), o final de igualdade de comparação é realizada exatamente como ===
executa-lo.
var num = 0;
var str = '0';
console.log(num === str); // true
Comparações de igualdade e semelhança
Para o seu problema, é a lógica para obter os resultados, porque o que você precisa para lançar valor da matriz :qualquer[] para o número e fazer o rigoroso comparar.
let categoryIds: any[] = [];
let nrtPatchCategory: number = 30;
// browse categoryIds arrays (you can use any other method like for ...)
categoryIds.forEach(categoryId => {
if (Number(categoryId) === nrtPatchCategory) {
...
}
});
Nota: Para mais detalhes de forEach() Matriz.protótipo.forEach()
Exemplo:
console.log(2 === Number('3')); // false
console.log(3 === Number('3')); // true