JavaScript'te dizi veri türlerine(nesne) kesinlikle eşit (===) nasıl yapılır

0

Soru

Uygulamamda, kesinlikle eşit kullanarak iki dizi veri türünü(biri herhangi bir[] ve diğeri sayı[]) eşit yapmak zorundayım.

benim kodum:

.bileşen.TH

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

Yukarıdaki if koşulunda, ===olarak yaparsam false olarak gösteriliyor (==kullanırsam = = verileri gösteriyor (true), ancak ===için değil)

paket.sabit.TH

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

Bu yüzden, yukarıdaki koşul için kesinlikle doğru durumda olmasını istiyorum Herkes bu konuda bana yardımcı olabilir mi

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

En iyi cevabı

0

Katı Eşitlik Karşılaştırması ( = = = ) ("katı eşitlik", "kimlik", "üçlü eşittir"): Katı eşitlik eşitlik için iki değeri karşılaştırır. Her iki değer de karşılaştırılmadan önce örtük olarak başka bir değere dönüştürülmez. Değerlerin farklı türleri varsa, değerler eşitsiz kabul edilir. Değerler aynı türe sahipse, sayı değilse ve aynı değere sahipse, bunlar eşit kabul edilir. Aksi takdirde değeri karşılaştırmak için.

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

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

Özet Eşitlik Karşılaştırması ( = = ) ("gevşek eşitlik", "çift eşittir"): Kullanarak gevşek eşitlik gerçekleştirme davranışı == aşağıdaki gibidir. Gevşek eşitlik, her iki değeri de ortak bir türe dönüştürdükten sonra eşitlik için iki değeri karşılaştırır. Dönüşümlerden sonra (bir veya her iki taraf da dönüşüm geçirebilir), nihai eşitlik karşılaştırması tam olarak şu şekilde gerçekleştirilir === bunu gerçekleştirir.

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

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

Eşitlik karşılaştırmaları ve aynılık

Sorununuz için, bu sonucu elde etmek mantıklıdır, çünkü array :any[] değerini sayıya atmanız ve sıkı bir karşılaştırma yapmanız gerekir.

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: forEach() Dizisi hakkında daha fazla ayrıntı için.prototip.dosyalarda()

Exemple:

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

Teşekkürler @ Med Aziz CHETOUİ, ancak gereksinim kategorisi Kimliklerimde array (yani public categoryIds: any [] = [];) ve nrtPatchCategory sayıdır (nrtPatchCategory: 30)Bunun için nasıl kesinlikle eşit hale getirebilirim (===) lütfen bunun için bana yardımcı olabilir misiniz Benim gereksinimim için yararlı olacaktır
user93

Rica ederim, cevabımı düzenliyorum ve yorumunuza dayanarak im, umarım yararlı olur.
Med Aziz CHETOUI

Diğer dillerde

Bu sayfa diğer dillerde

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