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

215
Views
Cómo almacenar datos en el mapa con entrada dinámica en javascript

Estoy construyendo mi primer proyecto con node.js e intento almacenar la entrada del usuario con Map. Aquí está mi código y 2 entradas entrantes:

 const command = new Map() let commadParam = ['userAccount', 'john'] // <- first input then it should be store for later use let account = 'userAccount-'+ commadParam[1] consolo.log(account) // 'userAccount-john' commadParam = ['charItem','BowJohn'] // <- simulate second input let char = 'charItem-' + commadParam[1] consolo.log(char) // 'charItem-BowJohn' command.set(account, account.split('-')[1]) command.set(char, char.split('-')[1]) console.log(command)// Map{'userAccount-john' => 'john', 'charItem-BowJohn' => 'BowJohn'}

funciona bien cuando literalmente pongo 2 entradas como ejemplo, pero cuando ejecuto mi aplicación y escribo la primera entrada, luego de 1 segundo, escribo la segunda entrada, sobrescribo el primer mapa

¿Cómo almaceno la primera entrada con Map para su uso posterior (como 1-3 segundos más tarde) o debería usar DB para almacenar (como redis)? ¡Gracias!

Aquí está el código completo:

 const replyMsg = async (reqBody, res) => { const reqBodyMsg = reqBody.events[0].type const command = new Map() if (reqBodyMsg === 'message') { let commandParam = reqBody.events[0].message.text.split(' ') let account = 'userAccount-' + commandParam[1] let char = 'charItem-' + commandParam[1] command.set(account, account.split('-')[1]) command.set(char, char.split('-')[1]) let accountName = command.get(account) let charName = command.get(char) //input user account for character list if (commandParam[0] === 'userAccount') { const dataString = await getChar(reqBody, res, accountName) console.log(dataString) } //input character name to get character equipment if (commandParam[0] === 'charItem') { // accountName = data.key[1] // console.log(commandParam[0]) // const charName = commandParam[1] const dataString = await getItem(reqBody, res, accountName, charName) console.log(dataString) } } }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Declarar e inicializar el command fuera de la función. Entonces, si commandParam[1] es diferente, no debería sobrescribir los valores antiguos en el mapa.

No estoy seguro de por qué necesita accountName y charName , deberían ser iguales a commandParam[1] .

 const command = new Map() const replyMsg = async(reqBody, res) => { const reqBodyMsg = reqBody.events[0].type if (reqBodyMsg === 'message') { let commandParam = reqBody.events[0].message.text.split(' ') let account = 'userAccount-' + commandParam[1] let char = 'charItem-' + commandParam[1] command.set(account, account.split('-')[1]) command.set(char, char.split('-')[1]) let accountName = command.get(account) let charName = command.get(char) //input user account for character list if (commandParam[0] === 'userAccount') { const dataString = await getChar(reqBody, res, accountName) console.log(dataString) } //input character name to get character equipment if (commandParam[0] === 'charItem') { // accountName = data.key[1] // console.log(commandParam[0]) // const charName = commandParam[1] const dataString = await getItem(reqBody, res, accountName, charName) console.log(dataString) } } }

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!