Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将for-each循环转换为Coffeescript_Javascript_Xml_Coffeescript - Fatal编程技术网

Javascript 将for-each循环转换为Coffeescript

Javascript 将for-each循环转换为Coffeescript,javascript,xml,coffeescript,Javascript,Xml,Coffeescript,正在尝试将以下函数转换为Coffeescript: var parse = function (elem) { for each(var subelem in elem) { if (subelem.name() !== null ) { console.log(subelem.name()); if (subelem.children().length() > 0) {

正在尝试将以下函数转换为Coffeescript:

    var parse = function (elem) {
        for each(var subelem in elem) {
            if (subelem.name() !== null ) {
                console.log(subelem.name());
                if (subelem.children().length() > 0) {
                    parse(subelem);
                }
            } else {
                console.log(subelem);
            }
        }
    };
   var xml = new XML(content);
   parse(xml);
它只是将元素标记和任何文本打印到控制台

尝试使用:

    parse = (elem) ->
        if elem.name()?                 
            console.log elem.name()
            if elem.children().length() > 0
                parse subelem for own elkey, subelem of elem
        else
            console.log elem

xml = new XML content
parse subelem for own elkey, subelem of xml

但它似乎从未解析根xml节点下的任何内容,并最终进入无限递归循环,不断打印出根节点标记,直到它崩溃。你知道我做错了什么吗?谢谢。

嗯。我测试了这个,如果你删除
own
关键字,这个问题似乎就消失了,它添加了一个
hasOwnProperty
检查。不知何故,每个元素的第一个子元素似乎通过了该检查,而其他元素则没有通过。我对此有点困惑,但这是你的答案