Contruire un object à partir d'un autre
Bonjour,
Je suis sur un challenge.
J'ai cinq terrains disponibles, le 1 , 2, 3 , 5 ,6
Ces terrains se trouvent dans un array
Code:
1 2 3 4 5 6
| const f:any = []
fields.map((p) =>{
f.push(p.id)
})
console.log("All fields:",f)
// All fields: ["1", "2", "4", "5", "6"] |
je veux maintenant activer 3 terrains, disons le 1, 2 et 5
Je dois miantenant retourner une valeur qui indique quels terrains sont 1 ou 0 (actif, inactif) et il m'est imposé ce format, ce qui me complique la vie
Citation:
{"field1":"1", "filed2":"1", "field3":"0", "field4":"0", "field5":"1"}
J'ai donc commencer comme cela
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
const tags = {}
f.map((i:any, o:any) => { // je loop mes terrains disponibles
if(selectedFields.find((e:any) => e == i.toString()) == i){ // Si l'un de mes trois terrains actifs est dans f
console.log(i, "IS IN ALL FIELD")
// tags prend la valeur de {"field"+i.toString():"1"})
}
else{ // et si elle ne l'est pas, la valeur vient à 0
console.log(i, "is NOT in all fields")
// tags prend la valeur de {"field"+i.toString():"0"})
}
})
// pour contruire, au fur et à mesure de la progression de map()
console.log("TAGS", tags) // doit afficher ceci {"field1":"1", "filed2":"1", "field3":"0", "field4":"0", "field5":"1"} |
J'ai essayé avec .push, sans succès.
Comment est-ce que vous le feriez?