gpt4 book ai didi

Javascript 递归问题

转载 作者:行者123 更新时间:2023-11-30 11:49:05 24 4
gpt4 key购买 nike

我在使用 JavaScript 递归时遇到问题。这是代码

_parseJson: function($object, $j_array) {

for (i = 0; i < $j_array.length; i++) {
var $el = document_designer.createElement($j_array[i]);
$object.append($el);
if ($j_array[i].elements.length > 0) {
this._parseJson($el, $j_array[i].elements);
}
}
}

这两个函数(parseJsoncreateElement)都在名为“document_designer”的对象下。这是 createElement

createElement: function(n) {
var $element = $('<' + n['tag'] + '/>');
document_designer.oi++;
if (n.id == null) {
$element.attr('id', '____element' + document_designer.oi);
}
document_designer.processElement($element, n); // you may ignore this line
return $element;
}

processElement 函数没有问题。你甚至可以忽略那一行

document_designer._parseJson(document_designer.$preview, json_element)
// $preview is an created object in the `body`

我的父 JSON 是:http://www.jsoneditoronline.org/?id=c99c77938e5edf91996e4bb267fd09b1

根元素正在创建,第一个主元素的子元素正在创建,但其他根元素的子元素未创建

最佳答案

你忘记了 var

for (i = 0; i < $j_array.length; i++) {

所以你对所有调用都使用相同的全局 i

更改为:

 for (var i = 0; i < $j_array.length; i++) {

顺便说一句,我喜欢你的代码。

关于Javascript 递归问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40020892/

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