gpt4 book ai didi

javascript - 使用递归读取对象的属性和属性?

转载 作者:行者123 更新时间:2023-11-28 21:03:26 25 4
gpt4 key购买 nike

我想知道我是否可以使用递归函数来读取对象的所有属性和属性,包括嵌套属性等。例如,如果我有一个对象:

  var mObj = {};
mObj.countries = [];
mObj.country = {};
mObj.country.states = [];
mObj.country.state = {};
mObj.country.state = {};

我相信你明白了。如果它只是一个简单的对象,那么我可以使用“for in”循环,也许嵌套“for in”循环,一个对象有许多嵌套级别,那么使用嵌套“for in”循环会变得有些困惑。我认为使用递归会很棒。任何对此的帮助见解将不胜感激。

谢谢。

最佳答案

这里有一个简单的示例,可以在您最终遇到任何问题时执行此操作。

var level = '';
var readProperties = function(val) {
if (Object.prototype.toString.call(val) === '[object Object]') {
for (var propertyName in val) {
if (val.hasOwnProperty(propertyName)) {
console.log(level + propertyName + ':');
level += ' ';
readProperties(val[propertyName]);
}
}
}
else {
console.log(level + val);
level = level.substring(0, level.length - 2);
}
}

关于javascript - 使用递归读取对象的属性和属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10455552/

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