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

113
Views
Cambiar el valor de un objeto en función de otra matriz de valor de objeto

Tengo debajo del tipo de objeto

 sampleObject = {name : 'John' , age : 34 }

Quiero actualizar el valor de edad en función de la siguiente matriz de valor de objeto:

 sampleArrayOfObject = [{name:'John',age:20},{name:'Mathew',age:23},{name:'Mohammed',age:20}]

La salida final que quiero es

 updatedOject = {name:'John',age:20}
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

const sampleObject = {name : 'John', age : 34 } const sampleArrayOfObject = [{name:'John',age:20}] const updatedOject = {...sampleObject, age: sampleArrayOfObject[0].age}
about 4 years ago · Juan Pablo Isaza Report

0

No estoy exactamente seguro de cómo quieres que se haga la operación, pero aquí tienes una de las opciones:

 function update(obj, objs) { return { ...obj, age: objs.find(v => v.name === obj.name)?.age ?? obj.age, }; } let updatedOject = update(sampleObject, sampleArrayOfObject);

Aquí está el patio de recreo para esta opción, y esto es lo que obtienes cuando haces clic en "Ejecutar":

 { "name": "John", "age": 20 }

Aquí está la misma opción pero con las tipificaciones adecuadas:

 type Person = { name: string; age: number } function update(obj: Person, objs: Person[]): Person { return { ...obj, age: objs.find(v => v.name === obj.name)?.age ?? obj.age, }; };

Y este es el mismo código pero con genéricos (diría un enfoque preferido, pero no lo dé por sentado):

 function update<T extends { name: string; age: number }>(obj: T, objs: T[]): T { return { ...obj, age: objs.find(v => v.name === obj.name)?.age ?? obj.age, }; };
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!