gpt4 book ai didi

javascript - 访问对象的嵌套属性

转载 作者:行者123 更新时间:2023-12-02 19:22:41 24 4
gpt4 key购买 nike

我必须访问对象的属性:

var jsonobj= {
"first": {
"second": 120
}
}

如何检查是否second是否可用? jsonobj.hasOwnProperty()返回false如果我们检查这里。

如果我想改变second的值从120到100,我该如何实现?我可以获得一个通用的解决方案,以便它适用于任意数量的层次结构吗?

编辑:如果我不知道该特性的名称怎么办?

最佳答案

如果您想检查嵌套属性 [key] 的[唯一路径]是否存在,此函数可能会有所帮助:

function keyPathExists(obj,keypath){
var keys = keypath.split('.'), key, trace = obj;
while (key = keys.shift()){
if (!trace[key]){
return null
};
trace = trace[key];
}
return true;
}

//usages
var abcd = {a:{b:{c:{d:1}}}};
keyPathExists(abcd,'a.b.c.d'); //=> 1
keyPathExists(abcd,'a.b.c.d.e'); //=> null
if (keyPathExists(abcd,'a.b.c.d')){
abcd.a.b.c.d = 2;
}

请阅读@nnnnnn s 评论,尤其是提供的 link仔细地在里面。

关于javascript - 访问对象的嵌套属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12346203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com