求助一个JS对象遍历的问题

AFKDLC 2019-07-16 09:44:35
var person = {
firstName : "Bill",
lastName : "Gates",
age : 62,
eyeColor : "blue",
son:{
firstName : "Gigl",
lastName : "Shift",
age : 32,
eyeColor : "Black"
}
};
想把person完整的,包括son的属性都遍历出来,最好像java那种对象嵌套的toString那种出来
...全文
244 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
luj_1768 2019-07-18
  • 打赏
  • 举报
回复
啊!快把服务器累死了。这种结构遍历通常容易出错:做个大一点的数据集,自己遍历一下就知道了。
winzond 2019-07-17
  • 打赏
  • 举报
回复
引用 4 楼 AFKDLC 的回复:
有没有把他显示在HTML界面的操作,除了一个一个dom
能console就能改写成字符串,显示在页面,操作一下元素就好了。原生JShttps://blog.csdn.net/tswc_byy/article/details/82711093jQueryhttps://www.runoob.com/jquery/html-text.htmlhttps://www.runoob.com/jquery/html-html.html
AFKDLC 2019-07-17
  • 打赏
  • 举报
回复
有没有把他显示在HTML界面的操作,除了一个一个dom
winzond 2019-07-16
  • 打赏
  • 举报
回复
如果你是想传递到后台做数据处理,那么1楼就能满足你了。如果你只是想单纯地输出属性名和属性值,就你这个对象可以这样,如果是不知道有多少层的话,就要用函数来解决了。
for (x in person) {
if (typeof person[x] == "object") {
console.log(x + "是对象,对象内容是:");
for (y in person[x]) {
console.log(y + "的值是:" + person[x][y]);
}
} else {
console.log(x + "的值是:" + person[x]);
}
}

自渡96 2019-07-16
  • 打赏
  • 举报
回复
toString是转成字符串了,你也要这样的效果?

var obj = JSON.stringify(person);
对象转字符串
winzond 2019-07-16
  • 打赏
  • 举报
回复
let person = {
firstName: "Bill",
lastName: "Gates",
age: 62,
eyeColor: "blue",
son: [{
firstName: "Gigl",
lastName: "Shift",
age: 32,
eyeColor: "Black"
}, {
firstName: "Gigl2",
lastName: "Shift2",
age: 30,
eyeColor: "Yellow"
}]
};
eachObj(person);
function eachObj(obj) {
if (typeof obj != "object") {
console.log("传入参数是不是对象,不能解析");
return;
}
if (obj instanceof Array) {
for (let i = 0; i < obj.length; i++) {
console.log("第" + (i+1) + "个数组内容是:")
eachObj(obj[i]);
}
} else{
for (x in obj) {
if (typeof obj[x] == "object") {
if (obj[x] instanceof Array) {
console.log(x+"是数组")
eachObj(obj[x]);
return;
}
console.log(x + "是对象,它的内容是:");
eachObj(obj[x]);
} else {
console.log(x + "的值是:" + obj[x]);
}
}
}
}

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧