
输出结果.png
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
let obj = [
{
label: '一级 1',
children: [{
label: '二级 1-1',
children: [{
label: '三级 1-1-1',
children: [{
label: '四级 1-1-1'
}]
}]
}]
},
{
label: '一级 2',
children: [{
label: '二级 2-2',
children: [{
label: '三级 2-2-2',
children: [{
label: '四级 2-2-2'
}]
}]
}]
}
]
let array = []
const fn = obj => {
let arr = [...obj].reverse()
while(arr.length > 0){
let item = arr.pop()
array.push(item.label)
if(!item.children){
continue
}
for (let index = item.children.length - 1; index >= 0; index--) {
const element = item.children[index];
arr.push(element)
}
}
return array
}
console.log(fn(obj))
var o = {label: '', children: obj}
function dfs(node) {
if (!node) {
return
}
console.log(node.label)
if (!node.children) {
return
}
for (let i = 0; i < node.children.length; i++) {
dfs(node.children[i])
}
}
dfs(o)
// 返回值为数列的第n项的值
function f(n) {
if (n == 0) {
return 1
}
if (n == 1) {
return 1
}
return f(n - 1) + f(n - 2)
}
function f2(n) {
arr = [1, 1]
for (let i = 2; i <= n; i++) {
arr[i] = arr[i - 1] + arr[i - 2]
}
return arr[n]
}
</script>
</body>
</html>
网友评论