用js编写一个方法,收到的参数为children是一个由dom组成的数组。 在方法中遍历children数组,通过isHTML方法(参数为dom)判断是否为常规html标签。 如果是常规html标签则调用MakeApp得到一个返回值并赋值给app变量,然后将这个app添加到return_apps数组中。 如果不是常规html标签则调用MakeApp同时在apps数组中找到一个name属性为dom的名字的对象作为参数填入MakeApp,得到的返回值赋值给app变量然后将这个app添加到return_apps数组中。 返回return_apps数组
时间: 2024-01-24 14:17:23 浏览: 55
如何判断出一个js对象是否一个dom对象
以下是用JS编写一个方法,实现遍历children数组并根据dom类型选择相应的处理方式:
```
function processChildren(children) {
var return_apps = []; // 定义一个空数组,用于存储处理结果
for (var i = 0; i < children.length; i++) {
var child = children[i];
if (isHTML(child)) { // 如果是常规html标签
var app = MakeApp(); // 调用MakeApp方法得到返回值
return_apps.push(app); // 将app添加到return_apps数组中
} else { // 不是常规html标签
var name = child.nodeName.toLowerCase();
var target_app = apps.find(function(app) { return app.name === name; }); // 在apps中查找名字为dom的对象
var app = MakeApp(target_app); // 将找到的app作为参数传入MakeApp方法,得到返回值
return_apps.push(app); // 将app添加到return_apps数组中
}
}
return return_apps; // 返回存储处理结果的数组
}
// 判断dom是否为常规html标签的方法
function isHTML(dom) {
return (dom.nodeType === 1);
}
```
阅读全文