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

214
Views
Agregar nuevas claves y cambiar valores en el bucle for/if

Mi objetivo actual es tomar elementos en una matriz de números enteros y crear un valor de par de claves en función de cuántas veces apareció la clave en números enteros. Mi lógica es: para i en números enteros, si i ya está en números enteros 2, incremente el valor de esa clave en 1. Si no existe, cree la clave y emparéjela con un valor de 1. Han pasado algunas horas ahora y después de buscar mucho en Google, parece que no puedo encontrar dónde estoy arruinando mi lógica.

 //require realdine-sync module var readlineSync = require('readline-sync'); //initialize variable and list var integer; integers2 = {}; var integers = []; //user input integer = readlineSync.question('Integer?: ') //check user input and append any integer besides 0 while (integer != 0 && integer >= 1 && integer <= 100){ console.log("not 0!") integers.push(integer) integer = readlineSync.question('Integer?: ') } console.log(integers); for(i in integers){if (i in integers2){integers2[i] += 1}else{integers2[i] = 1} } console.log(integers2)
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

 let integers2 = {} integers = [5, 4, 5, 2, 4, 7, 5]; // you were using 'in' instead 'of', 'in': gives you index , 'of'?: gives you value of array for (let i of integers) { if (integers2[i]) { // if key exist increment value by one integers2[i] += 1 } else { // else add 1 as the first value integers2[i] = 1 } } console.log(integers2);

about 4 years ago · Juan Pablo Isaza Report

0

Esta es una solución que puede probar y que funciona. Utiliza la misma lógica que describiste en la pregunta. Esta solución usa Array.prototype.reduce() con Map() .

 const howMany = arr => arr .reduce( (map, n) => map.set(n, (map.get(n) ?? 0) + 1), new Map() ) console.log([...howMany([3, 4, 6, 4, 5, 5, 5])])

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!