es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo hacer que los tipos de datos de matriz (objeto) sean estrictamente iguales (===) en JavaScript.

En mi aplicación, tengo que hacer dos tipos de datos de array (uno es any[] y el otro es number[]) iguales utilizando estrictamente igual.

Mi código es:

.component.ts

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

En la condición if de arriba, está mostrando false si lo hago como === (si uso == está mostrando los datos (true) pero no para ===)

package.constant.ts

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

Así que quiero hacerlo verdadero para la condición anterior en una condición estrictamente.

¿Puede alguien ayudarme con esto?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para hacer que los dos tipos de datos de array sean iguales usando el operador estrictamente igual (===), es necesario comparar no solo su contenido sino también sus tipos. En el código proporcionado, la variable categoryIds no está declarada ni inicializada, por lo que no está claro de qué tipo es. Sin embargo, asumiendo que es un array de números, puede modificar la condición de la siguiente manera:

    if (categoryIds.length === PhysicalPackageConst.nrtPatchCategory.length && 
        categoryIds.every((val, index) => val === PhysicalPackageConst.nrtPatchCategory[index])){
        this.materialTypes = PhysicalPackageConst.nrtPatchMaterialType;
        categoryIds = [];
    }
    

    Esta nueva condición verifica que ambos arrays tienen la misma longitud y que cada elemento en categoryIds es estrictamente igual al elemento correspondiente en PhysicalPackageConst.nrtPatchCategory. Si la condición es verdadera, establece la propiedad materialTypes y vacía el array categoryIds.

    Tenga en cuenta que si categoryIds es un array de objetos u otros tipos complejos, deberá comparar sus propiedades o valores de manera similar.

Comments are closed.