J'ai un objet historique avec des valeurs pour chaque date dans un intervalle :
response = {
2019-09-13: {logged-in: 3, clicked-something: 15}
2019-09-14: {logged-in: 0, clicked-something: 0}
2019-09-15: {logged-in: 0, clicked-something: 0}
2019-09-16: {logged-in: 0, clicked-something: 0}
2019-09-17: {logged-in: 0, clicked-something: 0}
2019-09-18: {logged-in: 2, clicked-something: 24}
2019-09-19: {logged-in: 7, clicked-something: 36}
}
Je n'ai besoin que d'une seule des propriétés et j'essaie donc de filtrer l'objet dans ce domaine :
2019-09-13: {clicked-something: 15}
2019-09-14: {clicked-something: 0}
2019-09-15: {clicked-something: 0}
2019-09-16: {clicked-something: 0}
2019-09-17: {clicked-something: 0}
2019-09-18: {clicked-something: 24}
2019-09-19: {clicked-something: 36}
}
J'ai essayé de donner la méthode suivante pour résoudre ce problème :
const data = {
"2019-09-13": { "logged-in": 3, "clicked-something": 15 },
"2019-09-14": { "logged-in": 0, "clicked-something": 0 },
"2019-09-15": { "logged-in": 0, "clicked-something": 0 },
"2019-09-16": { "logged-in": 0, "clicked-something": 0 },
"2019-09-17": { "logged-in": 0, "clicked-something": 0 },
"2019-09-18": { "logged-in": 2, "clicked-something": 24 },
"2019-09-19": { "logged-in": 7, "clicked-something": 36 }
};
const allowed = ["clicked-something"]
const result = Object.values(data).map(item => {
return Object.keys(item)
.filter(key => allowed.includes(key))
.reduce((obj, key) => {
obj[key] = item[key]
return obj
}, {})
})
console.log(result)
il fait le travail mais me donne un tableau
edit : j'ai construit ma solution en utilisant JavaScript : filter() pour les objets . Le problème est la modification des clés de date de l'objet réponse. De plus, dans certaines occasions, je peux avoir besoin de filtrer 3 sur 5, etc.