Trans multi
arg = { } / multi
by DupontTD
JavaScript
let tabPers = [
{
nom: "Brusel",
sex : "h",
born: 1980,
n:"fr"
},
{
nom: "Charles",
sex : "h",
born: 2001,
n:"fr"
},
{
nom: "Dupont",
sex : "f",
born: 2000,
n:"fr"
},
{
nom: "Toto",
sex : "f",
born: 1991,
n:"fr"
},
{
nom: "Dupont",
sex : "h",
born: 2002,
n:"fr"
},
];
let annee = new Date().getFullYear();
function setAge({nom,sex,born}) {
age = annee - born;
return {nom,sex,age};
}
function setAge({nom,sex,born}) {
let age = annee - born;
return {nom,sex,age};
}
function filterMultArg(array, test,argObj) {
let passed = [];
for (let val of array) {
if (test(val, argObj ))
passed.push(val);
}
return passed;
}
function sexAge({sex,age}, {limiteAge=18,civilite="h"} = {} ) {
console.log(limiteAge,civilite);
return (sex === civilite && age > limiteAge);
}
function transf(array, fx) {
let passed = [];
for(let v of array)
passed.push(fx(v));
return passed;
}
let T = transf(tabPers,setAge);
console.log(filterMultArg(T, sexAge,{limiteAge:2,civilite:"h",pipo:"popi"}));
console.log(filterMultArg(T, sexAge,{pipo:"popi"}));
console.log(filterMultArg(T, sexAge));