百度前端技术学院第十七天到第十八天

一、编码

阅读 通过除2取余的方法来把十进制整数转化为二进制,然后做一个小练习,基于下面代码,完成该转化算法,并实现页面交互

编码

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">    
    <title>IFE ECMAScript</title>
</head>
<body>        
    <input id="dec-number" type="number" placeholder="输入一个十进制非负整数">
    <button id="trans-btn">转化为二进制</button>
    <p id="result">运算结果</p>
    <script>

function dec2bin(decNumber) {
    // 在这里实现你的转化方法,注意需要判断输入必须为一个非负整数
}

// 实现当点击转化按钮时,将输入的十进制数字转化为二进制,并显示在result的p标签内
// Some coding

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

需求说明

实现当点击转化按钮时,将输入的十进制数字转化为二进制,并显示在result的p标签内

实现代码

<script>
    window.onload = function() {
        var result = document.getElementById('result');
        var num = document.getElementById('dec-number');
        var trans = document.getElementById('trans-btn');

        function dec2bin(decNumber) {
            if (decNumber < 0) {
                alert('请输入大于0的数');
                return false;
            } else {
                var str = '';
                while (decNumber != 0) {
                    str = decNumber % 2 + str;
                    decNumber = Math.floor(decNumber / 2);

                }
                return str;

            }

        }
        trans.onclick = function() {
            var num1 = dec2bin(num.value);
            result.innerHTML = '运算结果:' + num1;
        }
    }
</script>

二、编码

基于上一个任务,继续完成更多需求
新的需求是,
1.转化显示后的二进制数为bin-bit中输入的数字宽度,例如
dec-number为5,bin-bit为5,则转化后数字为00101
2.如果bin-bit小于转化后的二进制本身位数,则使用原本的位数,如dec-number为5,bin-bit为2,依然输出101,但同时在console中报个错

实现代码

<script>
    window.onload = function() {
        var result = document.getElementById('result');
        var num = document.getElementById('dec-number');
        var trans = document.getElementById('trans-btn');
        var bin = document.getElementById('bin-bit');

        function
        dec2bin(decNumber) {
            if (decNumber < 0) {
                alert('请输入大于0的数');
                return false;
            } else {
                var str = '';
                while (decNumber != 0) {
                    str = decNumber % 2 + str;
                    decNumber = Math.floor(decNumber / 2);

                }
                return str;

            }

        }
        trans.onclick = function() {
            var num1 = dec2bin(num.value);

            if (num1.length >= bin.value) {
                result.innerHTML = '运算结果:' + num1;
                console.log('出现错误');
            }
            while (num1.length < bin.value) {
                num1 = '0' + num1;
                num1.length++;
                result.innerHTML = '运算结果:' + num1;
            }

        }


    }
</script>

三、编码

3的小游戏,练习使用循环和条件语句,实现如下需求:

从1到100,以此在console输出各数字,但是,当数字为3的倍数或者含有3的时候,输出“PA”
比如:1,2,PA,4,5,PA,……,11,PA,PA,14,PA……

<script>
    window.onload = function() {
        for (var i = 1; i < 100; i++) {
            if (i % 3 == 0 || i % 10 == 3 || i / 10 == 3) {

                console.log('PA');
            } else {
                console.log(i);
            }

        }

    }
</script>

四、编码

小练习,练习使用循环实现一个九九乘法表

第一步,最低要求:在Console中按行输出 n * m = t
然后,尝试在网页中,使用table来实现一个九九乘法表

<body>

    <table id="table">
    </table>

    <script>
        window.onload = function() {
            var t = document.getElementById("table");
            for (i = 9; i > 0; i--) {
                var tr = document.createElement("tr")
                for (j = 1; j < i + 1; j++) {
                    var td = document.createElement("td");
                    var node = document.createTextNode(j + '*' + i + '=' +
                        j * i);
                    td.appendChild(node);
                    tr.appendChild(td);
                    t.appendChild(tr);
                }
            }
        }
    </script>

五、Leetcode两数之和

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

var twoSum=function(nums,target){
var num=nums.length;
while(num>0){
let i=nums.pop();
if(nums.indexOf(target-i)!==-1){
return [nums.indexOf(target-i),nums-1];}
num--;
}
};

总结

1.进制转换那道题可以直接用toString(2)
2.indexOf()函数可以查找字符串是否在另一个字符串中,没有的话返回-1

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值