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

564
Vistas
¿Cómo intercambiar clave-valor y solo devolver el primer par en javascript?
  1. Aquí está la tarea
  • @param {objeto} ???
  • @devuelve {objeto} un objeto con los valores del objeto dado como claves y las claves como valores. Si hay valores duplicados en el objeto de entrada, solo se debe usar el primer par clave-valor y se deben descartar los pares subsiguientes con el mismo valor.

2. Esto es lo que codifiqué

¿Qué tiene de malo? ¿Cómo debo volver a trabajar?

 const object5 = { a: 1, b: 2, c: 3, d: 1 }; const object6 = { a: 1, b: 1, c: 1, d: 1 }; function swapPairs2(obj){ let newObject = {}; for(const key in obj){ let value = obj[key] newObject[value] = key; } return newObject; }

3. Aquí están las pruebas

test(swapPairs2(object5), { 1: "a", 2: "b", 3: "c" });
prueba(swapPairs2(objeto6), { 1: "a" });

4. Aquí está el error que obtuve

Se supone que debo obtener el primer par clave-valor, pero un retorno aleatorio.

ingrese la descripción de la imagen aquí

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

0

También puede invertir las entradas.

 const object5 = { a: 1, b: 2, c: 3, d: 1 }; const object6 = { a: 1, b: 1, c: 1, d: 1 }; const swapPairs2 = obj => Object.fromEntries( Object.entries(obj) .reverse() // Keep the first, not the last .map(entry => [entry[1], entry[0]]) // Reverse the key and vlaue ); console.log(swapPairs2(object5)); console.log(swapPairs2(object6));

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede hacerlo tomando las claves de objeto y usando el método Array.reduce() en las claves.

 const object5 = { a: 1, b: 2, c: 3, d: 1 }; const object6 = { a: 1, b: 1, c: 1, d: 1 }; const swapPairs2 = (obj) => Object.keys(obj) .reduce((a, c) => (a[obj[c]] = a[obj[c]] ?? c, a), {}); console.log(swapPairs2(object5)); console.log(swapPairs2(object6));

O usando el método Array.reduce() en Object.entries()

 const object5 = { a: 1, b: 2, c: 3, d: 1 }; const object6 = { a: 1, b: 1, c: 1, d: 1 }; const swapPairs2 = obj => Object.entries(obj) .reduce((acc, [key, val]) => (acc[val] = acc[val] ?? key, acc), {}) console.log(swapPairs2(object5)); console.log(swapPairs2(object6));

about 4 years ago · Juan Pablo Isaza Denunciar

0

Solo agregue los pares de valor/clave, si el valor aún no existe en newObject al verificar con el operador in :

 function swapPairs2(obj) { const newObject = {}; for (const key in obj) { const value = obj[key]; if(!(value in newObject)) { newObject[value] = key; } } return newObject; } const object5 = { a: 1, b: 2, c: 3, d: 1 }; const object6 = { a: 1, b: 1, c: 1, d: 1 }; console.log(swapPairs2(object5)); console.log(swapPairs2(object6));

Otra opción es usar Array.reduce() :

 const swapPairs2 = obj => Object.entries(obj) .reduce((acc, [k, v]) => v in acc ? acc : { ...acc, [v]: k } , {}) const object5 = { a: 1, b: 2, c: 3, d: 1 }; const object6 = { a: 1, b: 1, c: 1, d: 1 }; console.log(swapPairs2(object5)); console.log(swapPairs2(object6));

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