• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

98
Vistas
Problema con la función de diferencia para la estructura de datos de conjunto basada en matrices

(Estoy usando Group for Set como nombre)
si grupoA = [1, 2] y grupoB = [2, 3]

 groupC = groupA.difference(groupB); //-> groupC = [1] groupC = groupB.difference(groupA); //-> groupC = [3]

El primero funciona, pero el segundo no. En lugar de groupC que contiene 3, no contiene nada. Estoy bastante seguro de que todas las otras funciones funcionan bien. Soy nuevo en JS y no estoy seguro de lo que estoy haciendo mal.

 class Group { constructor() { this.arr = new Array(); } add(elem) { if(this.has(elem) == false) { this.arr.push(elem); } } delete(elem) { for(let i=0; i<this.arr.length; i++) { if(this.arr[i] == elem) { this.arr.splice(i); } } } has(elemA) { for(let elemB of this.arr) { if(elemA == elemB) { return true; } } return false; } difference(grp) { var newGroup = new Group(); for(let i=0; i<this.arr.length; i++) { newGroup.add(this.arr[i]); } for(let i=0; i<grp.arr.length; i++) { newGroup.delete(grp.arr[i]); } return newGroup; } } let a = new Group(); let b = new Group(); a.add(1); a.add(2); b.add(2); b.add(3); let c = b.difference(a); console.log(c.has(1)); //expected false, actually false console.log(c.has(2)); //expected false, actually false console.log(c.has(3)); //expected true, actually false
about 3 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda