moctarjallo :
Necesito hacer una función getPropertiesData(list)
que toma una lista de propiedades y un objeto que contiene las propiedades y sólo volver propiedades del objeto que coincidencia de la lista.
Ilustración:
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
}
Cómo hacerlo en javascript?
palaѕn:
Se puede utilizar Object.assign()
el método de este requisito como:
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']))
En caso de que necesite para obtener valores para sólo las teclas que existe en el objeto o
, se pueden utilizar esto:
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']))