首页 > 百度前端笔试3.30号
头像
offer*10000000
编辑于 2021-04-17 18:01
+ 关注

百度前端笔试3.30号

凉凉
选择题除了前端的还考了操作系统,Linux,然后canvas这一块我不熟悉只能蒙,还有构造函数原型这一块各种嵌套然后考变量的值是多少
算法题三道,
第一道,给定一组数,分别找出另一组数中比其大的数的个数,超时,AC50%
第二道,给定一组数和概率p,求最大的数学期望,不会
第三道,实现上下左右控制表格中的有色单元格视觉上移动的效果,DOM不熟,凉凉

结束之后把第三题做了一下,就是API不熟悉,然后当时心态不好,很慌
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<style>
    table.game {
        font-size: 14px;
        border-collapse: collapse;
        width: 100%;
        table-layout: fixed;
    }
    table.game td {
        border: 1px solid #e1e1e1;
        padding: 0;
        height: 30px;
        text-align: center;
    }
    table.game td.current{
        background: #1890ff;
    }
</style>
<div id="jsContainer">
    <table class="game">
        <tbody>
        <tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
        <tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
        <tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
        <tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
        <tr><td></td><td></td><td></td><td></td><td class="current"></td><td></td><td></td><td></td><td></td></tr>
        <tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
        <tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
        <tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
        <tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
        </tbody>
    </table>
</div>
<script>
    function bind() {

        document.onkeydown = event => {
            if (!event) return;
            var code = event.keyCode || '';
            if (!{'37': 1, '38': 1, '39': 1, '40': 1}[code]) return;
            event.preventDefault && event.preventDefault();
            //TODO: 请实现按键控制
            let box = document.getElementsByClassName("current")[0];
            let parent = box.parentNode;
            let index = box.cellIndex;
            let len = parent.childNodes.length;
            let rowIndex = parent.rowIndex;
            //
            let grand = document.getElementsByTagName('tbody')[0];
            let grandLen = grand.childElementCount;
            switch (code){
                case 37: {
                    if(index === 0){
                        parent.childNodes[len - 1].classList.add("current");
                    }else{
                        parent.childNodes[index-1].classList.add("current");
                    }
                    box.classList.remove("current");
                    break;
                }
                case 39: {
                    if(index === len-1){
                        parent.childNodes[0].classList.add("current");
                    }else{
                        parent.childNodes[index+1].classList.add("current");
                    }
                    box.classList.remove("current");
                    break;
                }
                case 38: {
                    if(rowIndex === 0){
                        grand.children[grandLen-1].childNodes[index].classList.add("current");
                    }else{
                        grand.children[rowIndex-1].childNodes[index].classList.add("current");
                    }
                    box.classList.remove("current");
                    break;
                }
                case 40: {
                    if(rowIndex === grandLen-1){
                        grand.children[0].childNodes[index].classList.add("current");
                    }else{
                        grand.children[rowIndex+1].childNodes[index].classList.add("current");
                    }
                    box.classList.remove("current");
                    break;
                }
            }

        };
    }
    bind();


</script>
</body>
</html>




---第一次发帖--------------------------------------


全部评论

(0) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐