-1
votes

Je veux filtrer des âges de plus de 30 ans dans cet ensemble d'objets

const olderThan30 = people.filter(age => Number(new Date().getFullYear()) - Number(age.DOB) > 30 )

console.log(olderThan30)

1 commentaires

Numéro (nouvelle date (). getainaar ()) -> Vous obtiendrez ici l'année en cours. Vous devez déboguer votre code. Faites une console.log avec au moins un élément de votre calcul et votre test BOOL.


3 Réponses :


0
votes

Si je ne me trompe pas, vous avez une erreur sur cette ligne:

const olderThan30 = people.filter(age => Number(new Date().getFullYear()) - Number(age.DOB) > 30 )


1 commentaires

Le DOB, la date de la journée de naissance est une chaîne comme vous nous avez montré chez les personnes. Si vous utilisez cette chaîne pour l'analyser avec la date d'objet et vous avez la date d'objet maintenant, elle est facile de comparer les deux dates



1
votes

Vous avez besoin d'ajouter une date pour vérifier l'année pour votre chaîne DOB pour vérifier l'année

const people = [
    {firstName: 'Sam', lastName: 'Hughes', DOB: '07/07/1978', department: 'Development', salary: '45000'},
    {firstName: 'Terri', lastName: 'Bishop', DOB: '07/04/1989', department: 'Development', salary: '35000'},
    {firstName: 'Jar', lastName: 'Burke', DOB: '11/01/1985', department: 'Marketing', salary: '38000'},
    {firstName: 'Julio', lastName: 'Miller', DOB: '12/02/1991', department: 'Sales', salary: '40000'},
    {firstName: 'Chester', lastName: 'Flores', DOB: '15/03/1988', department: 'Development', salary: '41000'},
    {firstName: 'Madison', lastName: 'Marshall', DOB: '22/09/1980', department: 'Sales', salary: '32000'},
    {firstName: 'Gabriella', lastName: 'Steward', DOB: '26/08/1994', department: 'Marketing', salary: '46000'},
    {firstName: 'Ava', lastName: 'Pena', DOB: '02/11/1986', department: 'Office Management', salary: '38000'},
];

const olderThan30 = people.filter(age => Number(new Date().getFullYear()) - Number(new Date(age.DOB).getFullYear()) > 30 );

console.log(olderThan30);


0 commentaires

0
votes

Vous pouvez obtenir des résultats précis par les éléments suivants ...

const olderThan30 = people.filter(age => (new Date() - new Date(age.DOB) ) > (new Date('1/1/2030') - new Date('1/1/2000') )) 


1 commentaires

d'accord, mais n'y a-t-il pas besoin de mettre en œuvre .boucadie () puisque le DOB a l'année comme format