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

554
Views
¿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 answers
Answer question

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 Report

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 Report

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 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!