JS笔试题之每日练习09-18

发布时间:2022-07-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了JS笔试题之每日练习09-18脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

  // 第一题:使用promise,实现一个延迟函数delay

    // 本题可以使用浏览器开发者工具进行调试,请务必调试通过,不能有语法错误

    const delay = (time) => {

        //你的代码

        return new PRomise((resolve) => {

            setTimeout(resolve, time);

        })

    };

    const main = async() => {

        awaIT delay(2000)

        console.LOG("Hello world") // 最早 2 秒之后才执行

    };

    main();

    //--------------------------------------------

    // 第二题:将数组扁平化并去除其中重复数据,最终得到一个升序且不重复的数组

    // 本题可以使用浏览器开发者工具进行调试,请务必调试通过,不能有语法错误

    const arr = [

        [1, 2, 2],

        [3, 4, 5, 5],

        [6, 7, 8, 9, [11, 12, [12, 13, [14]]]], 10

    ];

    function flatArr(arr) {

        // TODO: 你的代码

        const bphArr = arr.flat(Infinity);

        //console.log(new Set(bphArr));

        const newArr = [...new Set(bphArr)];

        newArr.sort((a, b) => {

            return a - b

        });

        // console.log(newArr);

        return newArr;

    };

    console.log(flatArr(arr));

    //------------------------------------------------------

 

    // 第三题

    // 说明:实现一个方法,用于比较两个版本号(version1、version2)

    // 如果version1 > version2,返回1;如果version1 < version2,返回-1,其他情况返回0

    // 版本号规则`x.y.z`,xyz均为大于等于0的整数,至少有x位

    // 示例:

    // compareversion('0.1', '1.1.1'); // 返回-1

    // compareVersion('13.37', '1.2 '); // 返回1

    // compareVersion('1.1', '1.1.0'); // 返回0

    // 本题可以使用浏览器开发者工具进行调试,请务必调试通过,不能有语法错误

    function compareVersion(version1, version2) {

        // TODO: 你的代码

        const v1 = version1.split(".");

        const v2 = version2.split(".");

        function factory(arr) {

            let arrsum = 0;

            arr.foreach((item) => {

                if (arr.length < 3) {

                    arr.push("00")

                }

                if (item.length < 2) {

                    item += "0"

                }

                arrsum += +item

            })

            return arrsum

        };

        const v1sum = factory(v1);

        const v2sum = factory(v2);

        if (v1sum < v2sum) {

            return -1

        } else if (v1sum === v2sum) {

            return 0

        } else {

            return 1

        }

    };

    console.log(compareVersion('1.1', '1.1.0'))

脚本宝典总结

以上是脚本宝典为你收集整理的JS笔试题之每日练习09-18全部内容,希望文章能够帮你解决JS笔试题之每日练习09-18所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。