Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

143
Vistas
Si existe un par de valores clave en el objeto, actualícelo; de lo contrario, agréguelo en un objeto

Tengo un objeto en blanco que necesito actualizar en la acción del usuario.

 let userAction = {};

Tengo varios botones en la página con ID únicos,

Me gusta: Btn1, Btn2, lo que sea

Entonces, si como usuario hago clic en Btn1, mi objeto debe actualizarse con su identificación y número de clics. Así

 userAction = {btn1: 1}

si hago clic en bt2, también actualizará ese objeto con su ID de esta manera:

 userAction = {btn1: 1, Btn2: 1 }

pero si hago clic en cualquier otro botón una vez más, debería actualizar el valor en +1. Como esto

Así que hago clic en Btn1 nuevamente... luego el objeto se verá así.

 userAction = {btn1: 2, Btn2: 1 }

Traté de hacerlo así, solo necesito saber si hay alguna opción mejor u optimizada para hacerlo.

 let userAction = {}; $('button').click(function(){ let btnId = $(this).attr('id'); let exisitngValue = userAction[`${btnId}`]; if (btnId in userAction){ userAction[`${btnId}`] = exisitngValue+1; }else { userAction[`${btnId}`] = 1; } console.log(userAction); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <button id="Btn1">Button 1</button> <button id="Btn2">Button 2</button> <button id="Btn3">Button 3</button> <button id="whatever">whatever</button>

¿Hay alguna manera mejor de hacerlo?

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Puede tomar solo la id del botón directamente sin una cadena de plantilla y asignar directamente el valor o cero y agregar uno.

 let userAction = {}; $('button').click(function(){ let btnId = $(this).attr('id'); userAction[btnId] = (userAction[btnId] || 0) + 1; console.log(userAction); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <button id="Btn1">Button 1</button> <button id="Btn2">Button 2</button> <button id="Btn3">Button 3</button> <button id="whatever">whatever</button>

about 4 years ago · Juan Pablo Isaza Denunciar

0

 let userAction = {}; $('button').click(function(){ let btnId = $(this).attr('id'); userAction[btnId]=userAction[btnId] ? userAction[btnId]+1 : 1; console.log(userAction); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <button id="Btn1">Button 1</button> <button id="Btn2">Button 2</button> <button id="Btn3">Button 3</button> <button id="whatever">whatever</button>

about 4 years ago · Juan Pablo Isaza Denunciar

0

 let userAction = {}; $('button').click(function(){ let btnId = $(this).attr('id'); userAction[btnId] = userAction[btnId]+1 || 1; console.log(userAction); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <button id="Btn1">Button 1</button> <button id="Btn2">Button 2</button> <button id="Btn3">Button 3</button> <button id="whatever">whatever</button>

about 4 years ago · Juan Pablo Isaza Denunciar
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 Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda