其他分享
首页 > 其他分享> > JS笔试题之每日练习09-18

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'))

标签:arr,return,version1,18,09,console,JS,compareVersion,const
来源: https://blog.csdn.net/JavaSleep/article/details/120384965