SOURCE

console 命令行工具 X clear

                    
>
console
// function Person(name) {
//     var name = name
//     this.age = 18
//     this.say = function() {
//         console.log('name is ', name)
//     }
// }

// var tim = new Person('tim')
// console.log(tim.say())



// console.log(tim)
const waterText = '水印'
const canvas = document.querySelector('#myCanvas')
canvas.width = 200
canvas.height = 200
const ctx = canvas.getContext('2d')
ctx.rotate(-25 * Math.PI / 180);
ctx.font = "800 30px Microsoft JhengHei";
ctx.fillStyle = "#000";
ctx.textAlign = 'center';
ctx.textBaseline = 'Middle';
if(ctx.measureText(waterText).width > 180) {
var size = 180 / waterText.length
ctx.font = '800 ' + size +'px '+ ' Microsoft JhengHei'
}

for(let i = (document.body.offsetHeight*0.5)*-1; i<800; i+=160) {
    for(let j = 0; j<document.body.offsetHeight*1.5; j+=60) {
        // 填充文字,x 间距, y 间距
        ctx.fillText(waterText, i, j)
    }
}

// ctx.fillText(waterText, 60, 100);


function debounce(fn, delay = 1000) {
    let timer = null
    return function() {
        timer && clearTimeout(timer)
        const _this = this
        const args = arguments
        timer = setTimeout(() => {
            fn.apply(_this, [...args])
            timer = null
        }, delay)
    }
}

function handler(e) {
    // console.log('hander', e)

}

document.getElementById('content').addEventListener('scroll', debounce(handler))

var strs = `/**
 * sfsfd
 */12313`;
 console.log(strs.replace(/\/\*{2,}\/\s?/g, ''))

 var testArr = [
    {id: 1, name: '部门1', pid: 0},
    {id: 2, name: '部门2', pid: 1},
    {id: 5, name: '部门5', pid: 4},
    {id: 3, name: '部门3', pid: 1},
    {id: 4, name: '部门4', pid: 3},
]

function arrToTree(data) {
    const result = []
    const itemMap = {}

    for (const item of data) {
        itemMap[item.id] = {...item, children: []}
    }

    for (const item of data) {
        const id = item.id
        const pid = item.pid
        const node = itemMap[id]
        // console.log()
        if (pid === 0) {
            // root
            result.push(node)
        } else {
            if (!itemMap[pid]) {
                itemMap[pid] = {
                    children: [],
                }
            } else {
                itemMap[pid].children.push(node)
            }
        }
    }
    console.log('result ', result)
    return result
}

arrToTree(testArr)
<div id="content" style="overflow:auto;height: 400px;background: #fff;">


	<!-- <div id="list" style="height: 2000px; margin-bottom: 100px;background: yellowgreen;"></div> -->
    
    <canvas id="myCanvas"></canvas>

</div>