Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Here's an example Typescript function that retrieves nested fields of an object:

interface NestedObject {
  [key: string]: any;
}

function getNestedValue(obj: NestedObject, path: string): any {
  const keys = path.split(".");
  let value = obj;
  for (let i = 0; i < keys.length; i++) {
    if (!value) {
      return undefined;
    }
    value = value[keys[i]];
  }
  return value;
}

The function takes in two parameters: the object itself and a string representing the path to the nested field. The function then splits the path into individual keys using the split method and loops through each key to traverse the object's nested fields. If the object does not contain the specified path or result in an undefined value, the function returns undefined.

Example usage:

const obj = {
  a: {
    b: {
      c: "hello"
    }
  }
};

console.log(getNestedValue(obj, "a.b.c")); // "hello"
console.log(getNestedValue(obj, "d.e.f")); // undefined