Javascript 将for-each循环转换为Coffeescript
正在尝试将以下函数转换为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) {
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
检查。不知何故,每个元素的第一个子元素似乎通过了该检查,而其他元素则没有通过。我对此有点困惑,但这是你的答案