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

106
Views
¿Cómo puedo crear condiciones en múltiples objetos de matriz para manejar errores en React?

Tengo un objeto de matriz llamado containertemps. Tiene un valor de propiedad llamado modDate.

Extraigo el valor booleano de la variable temperror comparando el tiempo en función del valor de la propiedad modDate entre varios objetos en containertemps.

Entonces, al colocar las variables de temperror 1, 2 y 3 en la variable de error, si alguna de ellas es verdadera, se representa el componente NotError, y cuando todas son falsas, se representa el componente Error.

Pero mirando mi código, esto parece ineficiente porque hay demasiados duplicados.

Como puedes ver, temperror0 y temperror1 y temperror2, El código que crea la variable está duplicado. ¿Cómo puedo deshacerme de estos valores duplicados en una pieza de código?

este es mi codigo

 const containtemps = [
 {
 modDate:"2022-09-22T04:48:00.000Z"
 },
 {
 modDate: null
 },
 {
 modDate:"2022-09-22T04:5:00.000Z"
 }
 ]

 this is duplicated code

 let curTime = new Date()
 curTime.setHours(curTime.getHours() - 6)


 const tempModate0 = containtemps[0]?.modDate;

 let tempmodDate0 = new Date(tempModate0)

 let temperror0 = curTime.getTime() <= tempmodDate0.getTime() ? false : true


 const tempModate1 = containtemps[1]?.modDate;


 let tempmodDate1 = new Date(tempModate1)

 let temperror1 = curTime.getTime() <= tempmodDate1.getTime() ? false : true



 
 const tempModate2 = containtemps[2]?.modDate;


 let tempmodDate2 = new Date(tempModate2)

 let temperror2 = curTime.getTime() <= tempmodDate2.getTime() ? false : true

 const error =

 temperror0 ||
 temperror1 ||
 temperror2 ;

 ;


 return (

 !error ?
 (
 <NotError>
 notError
 </NotError>

 )
 :
 (
 <Error>
 error
 </Error>)

 )
almost 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Puede usar some función dentro de su matriz. Devolverá true si encuentra al menos un resultado que coincida con su expresión. Aquí necesitas la expresión opuesta >

 const curTime = new Date();
const error = containtemps.some(t => t.modDate && curTime.getTime() > new Date(t.modDate).getTime())
almost 4 years ago · Santiago Trujillo Report

0

Podría simplemente declarar una función auxiliar:

 const checkTempDate = (tempDate) => {
 const date = new Date(tempDate);
 return curTime.getTime() <= date.getTime() ? false : true;
};

const error =
 checkTempDate(containtemps[0]?.modDate) ||
 checkTempDate(containtemps[1]?.modDate) ||
 checkTempDate(containtemps[2]?.modDate);

return !error ? <NotError>notError</NotError> : <Error>error</Error>;
almost 4 years ago · Santiago Trujillo 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!