Quick actions

cmd+k|ctrl+k

Navigation

Languages

Get Deeply Nested Value

Snippet info

Language

JavaScript

Visibility

public

Author

chaosrock

Created

2018-07-18T17:34:39Z

Updated

2018-07-18T17:55:27Z

/*
 * From https://gist.github.com/kieraneglin/12a3edbddb0c2bda742010eb95ea4fb3
*/

const getDeeplyNestedValue = (props, object) => {
  return props.reduce((prefix, val) => (prefix && prefix[val]) ? prefix[val] : null, object);
};

let response = {
  data: {
    user: {
      isAdmin: true
    }
  }
};

// Instead of data && data.user && data.user.isAdmin:
let workingResult = getDeeplyNestedValue(['data', 'user', 'isAdmin'], response);

let brokenResult = getDeeplyNestedValue(['data', 'user', 'firstName'], response);

let brokenResult2 = getDeeplyNestedValue(['data', 'user', 'address', 'street'], response);

console.log({
  workingResult,
  brokenResult,
  brokenResult2
})
INFO