为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
492人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 没有块级作用域

    查看全部
  • 思路:首先比较两个数组长度是否相同,如果相同,继续得到两个数组的所有类型构成的两个新类型数组arr3,arr4,然后比较arr3,arr4的长度是否相同,如果相同,逐个遍历arr3的元素,若arr4中有此元素,就将此元素从arr4中删除,最后遍历结束后,看arr4的长度是否为0,若为0,则返回true。

    代码参考@萌萌小咔

    function type(a){

    return a===null ? '[object Null]':Object.prototype.toString.apply(a);

    }

    function arraysSimilar(arr1,arr2){

    if(!Array.isArray(arr1) || !Array.isArray(arr2) || arr1.length!==arr2.length){

    return false; //判断是否是数组以及数组长度是否相等

    }

    var arr3=[];

    var arr4=[];

    for(var i in arr1){

    arr3.push(type(arr1[i]));

    arr4.push(type(arr2[i])); //将对应的元素的类型放在新的数组里 for-in迭代

    }

    if(arr3.sort().toString()==arr4.sort().toString()){

    return true;

    }

    else{

    return false;

    } //将数组转换为字符串再进行比较

    }


    查看全部
    0 采集 收起 来源:编程练习

    2018-10-04

  • BUDONG1

    查看全部

  •   function getType(p){

                if(p === null){

                    return 'null';

                }

                if((typeof p) == 'string'){

                    return 'string';

                }

                if((typeof p)  == 'boolean'){

                    return 'boolean';

                }

                if((typeof p) == 'number'){

                    return 'number';

                }

                if((typeof p) == 'function'){

                    return 'function';

                }

                if((typeof p) == 'undefined'){

                    return 'undefined';

                }

                if((typeof p) == 'object'){

                    if(p instanceof Window){

                        return 'Window';

                    }

                    if(p instanceof Date){

                        return 'Date';

                    }

                    return 'othObject';

                }

                return 'other';

            }

            /*

             * param1 Array 

             * param2 Array

             * return true or false

             */

            function arraysSimilar(arr1, arr2){

                //return true;

                if(!(arr1 instanceof Array) || !(arr2 instanceof Array)){

                    return false;

                }

                var typeArr = [];

                typeArr['string'] = 0;

                typeArr['boolean'] = 0;

                typeArr['number'] = 0;

                typeArr['undefine'] = 0;

                typeArr['null'] = 0;

                typeArr['function'] = 0;

                typeArr['Date'] = 0;

                typeArr['Window'] =0;

                //typeArr['']

                //return true;

                for(var i = 0;i<arr1.length;i++){

                    var tkey = getType(arr1[i]);

                    if((typeof typeArr[tkey]) == 'number'){

                        typeArr[tkey]++;

                    }

                }

                for(i=0;i<arr2.length;i++){

                    var tkey = getType(arr2[i]);

                    if((typeof typeArr[tkey]) == 'number'){

                        typeArr[tkey]--;

                    }

                }

                var ret = true;

                for(index in typeArr){

                    if(typeArr[index] != 0){

                        ret = false;

                        break;

                    }

                }

                //return true;

                return ret;

            }


    查看全部
    0 采集 收起 来源:编程练习

    2018-10-01

  • 类型检测函数

    查看全部
  • String类型常见的支持JS正则表达式的方法

    查看全部
  • RegExp的对象方法

    查看全部
  • 正则对象的四个属性

    查看全部
  • 三个flag,全局、忽略大小写、跨行获取等

    查看全部
  • 正则里重复的表示

    查看全部
  • 正则表达式,分组

    查看全部
  • 正则范围符号

    查看全部
  • 正则基础匹配字符

    查看全部
  • js怎么创建正则对象:new RegExp("Bosn").test("Hi,Bosn")

    查看全部
  • 什么是正则

    查看全部

举报

0/150
提交
取消
课程须知
1.您至少学习了本站“JS入门”、“JS进阶”两门基础课程。 2.如您具备一定实践经验对学习有很大帮助。 3.如您没有脚本编程开发经验,学习过程有可能会受挫部分内容或示例代码,请“暂时略过不懂的部分,后面章节会阐述”,当然想透彻学习,还需大量实践来体会知识的内涵。
老师告诉你能学到什么?
结合实例,深入解析以下知识内容: 1. 数据类型、表达式和运算符、语句; 2. 对象、数组、变量、函数; 3. this、闭包和作用域; 4. OOP; 5. 正则与模式匹配。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!