JS ES6 Correct way to filter object by array of keys

后端 未结 4 662
旧时难觅i
旧时难觅i 2021-01-26 21:57

I would like to take an array of objects and filter each object to only return the properties where the key matches an item in an array.

For example:

con         


        
4条回答
  •  走了就别回头了
    2021-01-26 22:36

    You can simply loop over keys and build a new object which contains only those keys and respective values

    const myKeys = ['key_1', 'key_3'];
    const myArray = [{key_1: 'Some Value A',key_2: 'Some Other Value A',key_3: 'Some Final Value A',},{key_1: 'Some Value B',key_2: 'Some Other Value B',key_3: 'Some Final Value B',},{key_1: 'Some Value C',key_2: 'Some Other Value C',key_3: 'Some Final Value C',},];
    
    let final = myArray.map(v => {
      return myKeys.reduce((op, key) => {
        op[key] = v[key]
        return op
      }, {})
    })
    
    console.log(final)

提交回复
热议问题