访问javascript

时间:2017-01-12 12:36:15

标签: javascript json node.js

我有一个像这样的json:

user = 
    {
       "info": {
                 "id": "....",
                  ......
       },
       ......
     }

所以..我可以使用user.info.id来获取id但是我需要一个函数,可以使用类似getInfo(user, "info.id")的东西给我一个对象的属性我已经试过user["info.id"] 。 JavaScript有没有这样的东西?或者,我该如何实现呢?

BTW,我正在使用node.js:)

1 个答案:

答案 0 :(得分:0)

您可以使用reduce()创建此类功能。

var user = {
  "info": {
    "id": 3,
  },
}

function getInfo(data, key) {
  return key.split('.').reduce(function(r, e) {
    return r[e]
  }, data)
}

console.log(getInfo(user, "info.id"))

使用ES6箭头功能

function getInfo(data, key) {
  return key.split('.').reduce((r, e) => r[e] , data)
}