diff --git a/images/1.png b/images/1.png
new file mode 100644
index 0000000000000000000000000000000000000000..df9b17b72231f2e0d2bab1c8efaefc4997a28067
Binary files /dev/null and b/images/1.png differ
diff --git a/images/2.png b/images/2.png
new file mode 100644
index 0000000000000000000000000000000000000000..61e4df68e9f2a1c5a92393a4f69a70a2040f55a8
Binary files /dev/null and b/images/2.png differ
diff --git a/images/3.png b/images/3.png
new file mode 100644
index 0000000000000000000000000000000000000000..345b85d37d006efea2e98173427e2081ad0875eb
Binary files /dev/null and b/images/3.png differ
diff --git a/images/4.png b/images/4.png
new file mode 100644
index 0000000000000000000000000000000000000000..3d561f1f1403f196ed629053ff39e85ee9093531
Binary files /dev/null and b/images/4.png differ
diff --git a/qumingxu.html b/qumingxu.html
new file mode 100644
index 0000000000000000000000000000000000000000..0351c056326db196ad5ae18b241281809054de1d
--- /dev/null
+++ b/qumingxu.html
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+ 轮播图 屈明旭
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/qumingxu.js b/qumingxu.js
new file mode 100644
index 0000000000000000000000000000000000000000..c12a0a49f06dd35132437eb1cedbd15d46a8fc16
--- /dev/null
+++ b/qumingxu.js
@@ -0,0 +1,182 @@
+const fs = require('fs');
+
+const cityData = [
+ {
+ parentValue: 1,
+ value: 11,
+ label: '北京市',
+ },
+ {
+ parentValue: 11,
+ value: 111,
+ label: '东城区'
+ },
+ {
+ parentValue: 11,
+ value: 112,
+ label: '西城区'
+ },
+ {
+ parentValue: 1,
+ value: 12,
+ label: '上海市',
+ },
+ {
+ parentValue: 12,
+ value: 121,
+ label: '黄浦区'
+ },
+ {
+ parentValue: 12,
+ value: 122,
+ label: '徐汇区'
+ },
+ {
+ parentValue: 1,
+ value: 13,
+ label: '广东省',
+ },
+ {
+ parentValue: 13,
+ value: 131,
+ label: '广州市',
+ },
+ {
+ parentValue: 131,
+ value: 1311,
+ label: '天河区'
+ },
+ {
+ parentValue: 131,
+ value: 1312,
+ label: '越秀区'
+ },
+ {
+ parentValue: 132,
+ value: 1321,
+ label: '南山区'
+ },
+ {
+ parentValue: 132,
+ value: 1322,
+ label: '罗湖区'
+ },
+ {
+ value: 1,
+ label: '中国',
+ },
+ {
+ parentValue: 13,
+ value: 132,
+ label: '深圳市',
+ }
+]
+
+/* *
+ 1.请利用递归方法实现一个函数,把上方数据递归成有层级的数据,
+ 2.把value字段变成id字段,label字段变成title字段,children字段变成child字段,
+ 3.去掉parentValue字段,最终得到以下数据。需要一模一样的数据
+ ⚠️注意:不允许使用三层循环,请使用递归方法
+ [
+ {
+ id: 1,
+ title: '中国',
+ child: [
+ {
+ id: 11,
+ title: '北京市',
+ child: [
+ {
+ id: 111,
+ title: '东城区'
+ },
+ {
+ id: 112,
+ title: '西城区'
+ }
+ ]
+ },
+ {
+ id: 12,
+ title: '上海市',
+ child: [
+ {
+ id: 121,
+ title: '黄浦区'
+ },
+ {
+ id: 122,
+ title: '徐汇区'
+ }
+ ]
+ },
+ {
+ id: 13,
+ title: '广东省',
+ child: [
+ {
+ id: 131,
+ title: '广州市',
+ child: [
+ {
+ id: 1311,
+ title: '天河区'
+ },
+ {
+ id: 1312,
+ title: '越秀区'
+ }
+ ]
+ },
+ {
+ id: 132,
+ title: '深圳市',
+ child: [
+ {
+ id: 1321,
+ title: '南山区'
+ },
+ {
+ id: 1322,
+ title: '罗湖区'
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+]
+ * */
+
+
+// 具体实现
+const getArea = (data) => {
+ const tree = (parentValue) => {
+ const node = [];
+ const items = data.filter(item => item.parentValue === parentValue);
+
+ for (const item of items) {
+
+ const newNode = {
+ id: item.value,
+ title: item.label
+ };
+
+ const children = tree(item.value);
+ if (children.length > 0) {
+ newNode.child = children;
+ }
+
+ node.push(newNode);
+ }
+
+ return node;
+ }
+
+ result.push(...tree(undefined));
+}
+
+const result = [];
+getArea(cityData);
+console.log(result);