javascript - 使用递归函数解析 XML 时,如何从该函数返回字符串或数组?
问题描述
我有一个有效的递归函数,它通过 XML 文档寻找匹配的节点名称,然后记录匹配的值...我正在尝试修改它以返回字符串或数组,但无法计算出去。
这是在 Google Apps 脚本中。我尝试将一个空白字符串传递给函数,然后在最后返回它,但它不起作用。这是工作记录器功能:
function logChildren(elements, dataRequired){
for (var i = 0; i < elements.length; i++) {
if (elements[i].getName() == dataRequired){
Logger.log(elements[i].getText());
}
if(elements[i].getContentSize() > 1){
var children = elements[i].getChildren();
logChildren(children, dataRequired);
}
}
};
我尝试传入一个空字符串,然后像这样返回它,但它不起作用:
function logChildren(elements, dataRequired, str){
for (var i = 0; i < elements.length; i++) {
if (elements[i].getName() == dataRequired){
str = str + ", " + elements[i].getText();
}
if(elements[i].getContentSize() > 1){
var children = elements[i].getChildren();
logChildren(children, dataRequired, str);
}
}
return str
};
如何获取此函数的字符串或数组,而不仅仅是控制台记录它?
解决方案
而不是返回 str 尝试没有它,因为 str 将具有所有值。如果你返回 str 它可能会折叠当前的迭代。请让我们知道这是否有效
推荐阅读
- android - 如何将ascii转换为字节数组格式
- python - Can PySNMP find the MIB name for an OID?
- uwp - 是否可以从 SD 卡上覆盆子上的 uwp 应用程序中找到本地应用程序数据?
- matlab - y = A *x + B 的多维线性回归
- scala - 使用复杂(双重)操作在 scalaz 中合并地图
- laravel - 如何处理从 laravel 到 vue.js 的 401 错误未授权响应
- pandas - 如何将值与熊猫数据框中的列值进行比较
- sql - Oracle SQL 在表中插入日期
- c# - 如果类型参数约束指定类型,为什么不能从用法推断类型参数?
- performance - Azure VM 监控默认运行状况标准警报通知