javascript - 使用字符串将 "path"定义为对象键

标签 javascript jquery

<分区>

是否可以定义一个object键的“路径”?

例如,如果您有一个对象:

var obj = {
    hello: {
        you: "you"
    }
}

我想这样选择它:

var path = "hello.you";
obj[path]; //Should return "you"

(显然不行,但有办法吗?)

最佳答案

快速代码,您可能应该使其防错 ;-)

var obj = {
    hello: {
        you: "you"
    }
};

Object.prototype.getByPath = function (key) {
  var keys = key.split('.'),
      obj = this;

  for (var i = 0; i < keys.length; i++) {
      obj = obj[keys[i]];
  }

  return obj;
};

console.log(obj.getByPath('hello.you'));

在这里你可以测试 -> http://jsbin.com/ehayav/2/

mz

关于javascript - 使用字符串将 "path"定义为对象键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15381623/

相关文章:

javascript - 如何修复套接字 io 中的 400 错误错误请求?

javascript - 如何在 Node.js 12 中使用可选链

javascript - 获取 api - 在 then 和 catch block 中获取 json 主体以获得单独的状态代码

jQuery TypeError : $(…). attr(…) 未定义?

jquery - 使用jquery在密码字段中进行密码屏蔽

javascript - 如果我们使用 new Array(in).file({}); 创建一个对象数组然后在任何对象中添加一个键,它会反射(reflect)在所有 3 个对象中

javascript - React JS 中的异步路由元素返回

jquery - 单击 HTML5 输入类型编号时 iPhone 标题位置发生变化

javascript - 使用DatePicker过滤DataTable

javascript - 选择输入更改第二个选择的值