Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取json对象中属性的值_Javascript_Json_Attributes - Fatal编程技术网

Javascript 如何获取json对象中属性的值

Javascript 如何获取json对象中属性的值,javascript,json,attributes,Javascript,Json,Attributes,如何使用字符串正确获取对象的值 我有以下代码: let o = { dispatcher: { initials: 'abc' } } o["dispatcher.initials"] # undefined 我得到的字符串已经是这样的“dispatcher.initials”。我不能用这样的字符串吗 我希望获得值abc,如果您想创建一个函数从path获取属性,那么您可以使用 let o={dispatcher:{initials:'abc'} const getVal=(obj,path)

如何使用字符串正确获取对象的值

我有以下代码:

let o = { dispatcher: { initials: 'abc' } }
o["dispatcher.initials"]
# undefined
我得到的字符串已经是这样的“dispatcher.initials”。我不能用这样的字符串吗


我希望获得值abc

,如果您想创建一个函数从path获取属性,那么您可以使用

let o={dispatcher:{initials:'abc'}
const getVal=(obj,path)=>path.split('.').reduce((ac,a)=>(ac |{})[a],obj);

console.log(getVal(o,“dispatcher.initials”)
您可以
拆分字符串
减少
以循环通过数组

let o={dispatcher:{initials:'abc'};
让str=“dispatcher.initials”;
让结果=str.split(“.”)。reduce((c,v)=>c!=null?c[v]:null,o);

控制台日志(结果)
o.dispatcher.initials
o[“dispatcher”][“initials”]
我得到的字符串已经是这样的
“dispatcher.initials”
。我不能使用这样的字符串吗?如果路径断开,代码将抛出错误。第二个问题是,如果只有这一条路径,为什么不做
o.dispatcher.initials