moctarjallo:
Je dois faire une fonction getPropertiesData(list)
qui prend une liste de propriétés et un objet contenant les propriétés et seulement des propriétés de retour de l'objet qui correspondent dans la liste.
Illustration:
function getPropertiesData(['x', 'y']){
const o = {
'x': 1,
'y': 2,
'z': 3
}
// Will return
return {
'x': 1,
'y': 2
}
// not including the 'z' variable since it was not specified as input in the list array
}
Comment faire en javascript?
palaѕn:
Vous pouvez utiliser la Object.assign()
méthode de cette exigence comme:
function getPropertiesData(arr) {
const o = { 'x': 1, 'y': 2, 'z': 3 }
return Object.assign({}, ...arr.map(a => ({[a]: o[a]})));
}
console.log(getPropertiesData(['x', 'y']))
Si vous avez besoin pour obtenir des valeurs pour les seules clés qui existent dans l'objet o
, vous pouvez utiliser ceci:
function getPropertiesData(arr) {
const o = { 'x': 1, 'y': 2, 'z': 3 }
return Object.assign({}, ...arr.map(a => o.hasOwnProperty(a) ? ({[a]: o[a]}) : null));
}
console.log(getPropertiesData(['x', 'y']))
console.log(getPropertiesData(['w', 'x']))