Jak udělat, aby se pole datové typy(objekt) jako přísně rovná (===) v Javascriptu

0

Otázka

V mé aplikaci jsem musel udělat dvě pole datové typy(jeden je nějaký[] a další je číslo[]) jako rovný s použitím striktně stejné.

můj kód je:

.komponenta.ts

 if (categoryIds ===  PhysicalPackageConst.nrtPatchCategory){
               this.materialTypes = PhysicalPackageConst.nrtPatchMaterialType;
categoryIds = [];
            
                  }

Ve výše uvedeném případě podmínka je zobrazeno jako false, pokud jsem se, aby to tak ===(když použiju == je zobrazeno data(pravda), ale ne pro ===)

balíček.konstantní.ts

export const PhysicalPackageConst = {
nrtGumCategory : [29],
    nrtPatchCategory : [30]

Takže chci, aby se to jako pravda pro výše uvedená podmínka v přísně stavu Může mi někdo pomoci v tomto

angular javascript operators typescript
2021-11-24 06:52:46
1

Nejlepší odpověď

0

Přísné Rovnosti Porovnání (===) ("striktní rovnost", "identity", "triple rovná se") : Přísné rovnosti srovnává dvě hodnoty na rovnost. Ani hodnota je implicitně převeden na jinou hodnotu, než být ve srovnání. V případě, že hodnoty mají různé typy, hodnoty jsou považovány za nerovné. Pokud mají hodnoty stejný typ, nejsou čísla, a mají stejnou hodnotu, jsou považovány za rovnocenné. Jinak porovnávat hodnotu.

var num = 0;
var str = '0';

console.log(num === str); // false

Abstraktní Rovnost Porovnání (==) ("volné rovnost", "double rovná se") : chování k provádění volné rovnosti pomocí == je následující. Volné rovnosti srovnává dvě hodnoty na rovnost po převedení obou hodnot na společný typ. Po konverze (jedna nebo obě strany mohou podstoupit konverze), poslední rovnost srovnání je provedeno přesně tak, jak === provádí to.

var num = 0;
var str = '0';

console.log(num === str); // true

Rovnost srovnání a stejnosti

Pro váš problém, je to logiku, aby se ti výsledek, protože je třeba, aby obsazení hodnota pole :žádné[] do počtu a aby přísná porovnat.

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) {
    ...
  }
});

Poznámka: Pro více detail forEach() Pole.prototyp.forEach()

Exemple:

console.log(2 === Number('3')); // false
console.log(3 === Number('3')); // true
2021-11-24 08:47:02

Díky@Med Aziz CHETOUI , ale V mém požadavku Id kategorií jsou pole (i.e veřejné categoryIds: žádné[] = []; ) a nrtPatchCategory je číslo(nrtPatchCategory : 30)Na to, Jak můžu, aby to tak přísně rovná(===) můžete, prosím, pomoz mi za To, že by bylo užitečné pro můj požadavek
user93

Nemáš zač, jsem upravit svou reakci a im založené na váš komentář, doufám, že je to užitečné.
Med Aziz CHETOUI

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................