繁体   English   中英

如何将这种三元语法转换为 JavaScript 中的 if/else 语句?

[英]How can I convert this ternary syntax to an if/else statement in JavaScript?

我正在尝试将XML转换为JSON并遇到以下函数。 但我需要即时修改一些东西。 所以我想将此函数转换为 if/else 语句或循环。

你可以帮帮我吗 ?

function xmlToJson(xmlNode) {
    return {
        text: xmlNode.firstChild && xmlNode.firstChild.nodeType === 3 ? 
              xmlNode.firstChild.textContent : '',
        children: [...xmlNode.children].map(childNode => xmlToJson(childNode))
    };
}

假设xmlNode.children是一个数组,你可以这样做:

function xmlToJson(xmlNode)
{
    let obj = {};
    if (xmlNode.firstChild && xmlNode.firstChild.nodeType === 3)
    {
        obj.text = xmlNode.firstChild.textContent;
    }
    else
    {
        obj.children = [];
        for (let i = 0; i < xmlNode.children.length; ++i)
        {
           obj.children.push(xmlToJson(xmlNode.children[i]));
        }
    }
    return obj;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM