Strict Comparația de Egalitate (===) ("egalitate strictă", "identitate", "triplu egal") : egalitate Strictă compară două valori pentru egalitate. Nici valoarea implicit este convertit la o altă valoare înainte de a fi comparate. Dacă au valori diferite tipuri, valorile sunt considerate inegale. Dacă valorile au același tip, nu sunt numere, și au aceeași valoare, sunt considerate egale. În caz contrar, pentru a compara valoarea.
var num = 0;
var str = '0';
console.log(num === str); // false
Rezumat Comparația de Egalitate (==) ("libertate egalitate", "dublu egal") : comportamentul pentru efectuarea de libertate egalitate folosind ==
este după cum urmează. Libertate egalitate compară două valori pentru egalitatea după convertirea ambele valori la un tip comun. După conversii (una sau ambele părți le pot suferi conversii), ultima egalitate comparație este realizată exact ca ===
să-l împlinească.
var num = 0;
var str = '0';
console.log(num === str); // true
Egalitatea comparații și asemănare
Pentru problema ta, este logic pentru a obține cele rezultat, pentru că aveți nevoie pentru a arunca valoare de matrice :orice[] la număr și de a face strict compara.
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) {
...
}
});
Notă: Pentru mai multe detalii de forEach() Matrice.prototip.forEach()
Exemple:
console.log(2 === Number('3')); // false
console.log(3 === Number('3')); // true