javascript:对具有对象的对象进行排序并读取它们
javascript: sorting through objects that have objects and reading them
此代码如何读取对象,并能够读取其中的对象:
var book = {
"main title": "Javascript",
"sub-title": "Def Guide",
"for": "all audiences",
author: {
firstname: "David",
surname: "Fatagans"
}
};
for (propName in book){
console.log("key: " + propName + " value: " + book[propName]);
if (typeof book[propName] === "object"){
for (innerObject in book[propName]){
console.log("key: " + innerObject + "value: " + book[propName][innerObject])
}
}
}
一种方法是将代码放入函数中并递归调用,类似于:
function printObject(obj) {
for (var propName in obj) {
console.log("key: " + propName + " value: " + obj[propName]);
if (typeof obj[propName] == "object") {
printObject(obj);
}
}
}
上面还将显示对象的[[Prototype]]
链上的可枚举属性。要忽略这些,请使用hasOwnProperty测试:
if (obj.hasOwnProperty(propName)) {
// propName is not inherited
}
将主机对象(例如DOM元素)传递给函数时要小心,需要对这些对象采取额外的预防措施。
相关文章:
- 如何在节点中进行 Json 对象排序.js
- jQuery.每个对象排序
- Javascript对象排序
- Javascript 对象排序
- Javascript中的JSON对象排序
- jQuery停止对象排序
- 带有下划线排序的对象排序的数组
- JS对象排序日期排序
- JSON对象排序被jQuery或Javascript篡改
- 高级对象排序
- 将json对象排序到嵌套树中
- 按两个不同的条件对数组中的对象排序
- 如何在angular js中使用自定义排序顺序对对象排序
- 在AngularJS的ng-repeat中,使用Underscore/Lodash按值将对象排序为一对数组
- 给定一个对象数组,如何根据深度为n的属性对对象排序
- JavaScript数组对象排序没有按预期工作
- 对数组内的对象排序
- 自定义javascript对象排序和维护索引关联
- Javascript对象排序不工作
- Javascript对象的对象排序