gpt4 book ai didi

javascript - 下划线JS : Is there a way to iterate a JSON structure recursively?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:25:17 25 4
gpt4 key购买 nike

 var updateIconPathRecorsive = function (item) {
if (item.iconSrc) {
item.iconSrcFullpath = 'some value..';
}

_.each(item.items, updateIconPathRecorsive);
};

updateIconPathRecorsive(json);

有没有更好的不用函数的方法?我不想将函数从调用中移开,因为它就像一个复杂的 for。我可能希望能够按照以下行写一些东西:

   _.recursive(json, {children: 'items'}, function (item) {
if (item.iconSrc) {
item.iconSrcFullpath = 'some value..';
}
});

最佳答案

您可以使用立即调用的命名函数表达式:

(function updateIconPathRecorsive(item) {
if (item.iconSrc) {
item.iconSrcFullpath = 'some value..';
}
_.each(item.items, updateIconPathRecorsive);
})(json);

但是你的代码片段也很好,不会cause problems in IE .

下划线没有递归包装函数,也没有提供Y-combinator。任何一个。但如果你愿意,你可以很容易地 create one yourself当然:

_.mixin({
recursive: function(obj, opt, iterator) {
function recurse(obj) {
iterator(obj);
_.each(obj[opt.children], recurse);
}
recurse(obj);
}
});

关于javascript - 下划线JS : Is there a way to iterate a JSON structure recursively?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18214141/

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