Desestructurar propiedades de objeto de propiedades proporcionadas en una matriz

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']))

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=278477&siteId=1
Recomendado
Clasificación