我是javascript新手。
javascript
如何在js中查找前两个嵌套对象的键。
我也在Google上搜索它,但没有任何解决方法。
这是我想要的例子!
var obj = {
a:{
b:{
c:{
//so on
}
}
}
}
提前谢谢。
答案 0 :(得分:2)
我想知道我可以在javascript中定义多少个嵌套或内部对象
没有指定的限制。
对于诸如您所示的对象初始化程序,最终您将遇到运行该代码的特定JavaScript引擎的某种限制,例如围绕其对初始化程序的解析/处理,但是规范中没有定义。
如果您自己动态创建对象,例如这样的话:
/Users/yossiv/git/c2s-algo
...除了您要创建的对象数量(而不是它们的嵌套)相关的内存限制外,没有理由相信您会遇到任何其他情况。
如何查找在js中定义了多少个对象键
在一个特定的对象中,您可以通过// Don't run this code!
var obj = {};
while (true) {
obj.child = {};
obj = obj.child;
}
和Object.getOwnPropertyNames
获得其 own (未继承)属性的数组,然后取Object.getOwnPropertySymbols
数组。要找出对象具有 的属性以及引用其属性的对象的数目,可以使用递归搜索-但要注意循环结构。
例如:
length
答案 1 :(得分:1)
对嵌套对象没有任何限制。您可以根据需要定义嵌套对象,直到超出内存限制为止。
这是从嵌套对象中查找键的代码,但仅适用于第二个嵌套对象。
for (var key in ob) {
if (!ob.hasOwnProperty(key))
continue;
var obj = ob[key];
help += "</br>"
for (var prop in obj) {
// skip loop if the property is from prototype
if(!obj.hasOwnProperty(prop)) continue;
help += " ---) \""+key+" "+prop+"\"</br>"
}
}
告诉我你想要的东西
答案 2 :(得分:0)
我想知道我可以在javascript中定义多少个嵌套或内部对象?
在JS规范中未定义。
您可以定义嵌套或内部对象的数量。
但是:不要忘记:代码中的每个对象都需要放置在PC内存中。而且,如果您有许多对象,浏览器将无法正常工作。
如何查找JS中定义了多少个对象键?
具有以下方法:
返回一个数组,其中包含给定对象自身所有可枚举和不可枚举属性的名称。
返回直接在给定对象上找到的所有符号属性的数组。
您将发现在对象中定义了多少个对象键的长度。