Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

383
Views
No se puede simular la matriz de parches usando uniq en JS [principiante]

 Array.prototype.uniq = function() { narr = []; for (let i = 0; i < 0; i++) { if (!narr.include(this[i])) { narr.push(this[i]); } } return narr; } console.log(([1, 2, 2, 3, 3, 3].uniq() => [1, 2, 3]));

Estoy tratando de parchear el código anterior, pero recibo:

/home/cameronnc/Documents/app/skeleton/phase_1_arrays.js:11 console.log(([1,2,2,3,3,3].uniq() => [1,2,3])); ^^^^^

SyntaxError: lista de parámetros de función de flecha con formato incorrecto en Object.compileFunction (nodo:vm:352:18) en wrapSafe (nodo:internal/modules/cjs/loader:1033:15) en Module._compile (node:internal/modules/cjs/ loader:1069:27) en Module._extensions..js (node:internal/modules/cjs/loader:1159:10) en Module.load (node:internal/modules/cjs/loader:981:32) en Module. _load (node:internal/modules/cjs/loader:827:12) en Function.executeUserEntryPoint [como runMain] (node:internal/modules/run_main:77:12) en node:internal/main/run_main_module:17:47

Node.js v18.0.0

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Hay varios errores en su código. La que desencadena el error es la función de flecha ([1, 2, 2, 3, 3, 3].uniq() => [1, 2, 3]) que no es una función de flecha válida. Lo que quieres es simplemente imprimir el resultado de [1, 2, 2, 3, 3, 3].uniq() .

 Array.prototype.uniq = function() { const narr = []; for (let i = 0; i < this.length; i++) { if (!narr.includes(this[i])) { narr.push(this[i]); } } return narr; } console.log([1, 2, 2, 3, 3, 3].uniq());

Además, no es include() sino include( includes() . Además, su bucle se ejecutará exactamente 0 veces desde i = 0 y su condición es i < 0 . Cambie eso a i < this.length .

Por cierto, al usar un Set , podría implementar el mismo comportamiento con una complejidad de O(n) en lugar de O(n²) como su implementación actual.

 Array.prototype.uniq = function() { return [...new Set(this)] } console.log([1, 2, 2, 3, 3, 3].uniq());

about 4 years ago · Juan Pablo Isaza Report

0

Okey, tienes algunos errores:

  1. Necesitas declarar narr
  2. Su condición en su ciclo for no tiene sentido i < 0 . Necesita la longitud de la matriz this.length
  3. Typo include sus includes

 Array.prototype.uniq = function() { let narr = []; for (let i = 0; i < this.length; i++) { if (!narr.includes(this[i])) { narr.push(this[i]); } } return narr; } console.log([1, 2, 2, 3, 3, 3].uniq());

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!