Porównaj ścisłej równości (===) ("ścisła równość", "tożsamość", "potrójne równość") : Ścisła równość porównuje dwie wartości równości. Żadna z wartości niejawnie nie przekształca się w dowolną inną wartość przed porównaniem. Jeśli wartości są różne typy, wartości są uważane za nierówne. Jeśli wartości mają jeden i ten sam typ, nie są liczbami i mają taką samą wartość, są uznawane za równe. W przeciwnym przypadku dla porównania kosztów.
var num = 0;
var str = '0';
console.log(num === str); // false
Abstrakcyjne porównanie równości (==) ("wolne równość", "podwójne równość") : Zachowanie dla wykonywania wolnego równości z wykorzystaniem ==
jest w następujący sposób. Wolne równość porównuje dwie wartości dla równości po konwersji obu wartości w ogólny typ. Po transformacji (jedna lub obie strony mogą podlegać przekształceniom) ostatecznego porównania na równość odbywa się dokładnie tak, jak ===
wykonuje go.
var num = 0;
var str = '0';
console.log(num === str); // true
Porównaj równości i tożsamości
Dla twojej problemy logiczne uzyskać ten wynik, bo trzeba to wartość tablicy :any[] liczby i przeprowadzić ścisłe porównanie.
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) {
...
}
});
Uwaga: Aby uzyskać więcej informacji na temat tablicy forEach (). prototype.forEach()
Exemple:
console.log(2 === Number('3')); // false
console.log(3 === Number('3')); // true