• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

97
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error