gpt4 book ai didi

javascript - 如何递归读取看起来像那样的对象

转载 作者:行者123 更新时间:2023-11-30 18:20:33 27 4
gpt4 key购买 nike

我有以下对象:

var xhr = JSON.parse('{"name1":{"errors":["This value should not be blank."]}, "children":{"name2":{"errors":["This value should not be blank."]},"message":[],"name3":{"errors":["This value should not be blank."]}, "children":{"name4":{"errors":["This value should not be blank."]} }}}');

console.log(xhr);

我需要递归读取 xhr 对象。
我贴的对象只是一个例子,意思是 children 可以多也可以少。
Anywas objectReader 应该可以得到如下输出:

name1 ["This value should not be blank."] 
name2 ["This value should not be blank."]
name3 ["This value should not be blank."]
name4 ["This value should not be blank."]

我确实尝试编写了以下部分有效的代码:

_.each(xhr, function (xhrObject, name) {
if(xhrObject.errors) {
console.log(name, xhrObject.errors);
}
});

这是 http://jsfiddle.net/UWEMT/资源。
使用下划线如何完成此任务的任何想法?谢谢。

最佳答案

看这个:http://jsfiddle.net/UWEMT/6/

prs(xhr);

function prs(x){
_.each(x, function (xhrObject, name) {
if(xhrObject.errors) {
console.log(name, xhrObject.errors);
}
else prs(xhrObject);
})
}

如果对象有错误则为结束节点,否则为包含更多对象的子节点。

关于javascript - 如何递归读取看起来像那样的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12141059/

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