且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Javascript:通过将路径作为字符串传递给对象来从对象中获取深层值

更新时间:2023-11-03 08:45:34

考虑一下:

var obj = {
  foo: { bar: 'baz' }
};

function deepFind(obj, path) {
  var paths = path.split('.')
    , current = obj
    , i;

  for (i = 0; i < paths.length; ++i) {
    if (current[paths[i]] == undefined) {
      return undefined;
    } else {
      current = current[paths[i]];
    }
  }
  return current;
}

console.log(deepFind(obj, 'foo.bar'))