zoukankan      html  css  js  c++  java
  • js 验证对象是否为数组

    一、方法一:用到了原型

    由于typeof检测数组,只会显示其为object,并不会详细到告诉我们是否为array,所以我们可以自己写个js用原型来检测:

    <script>
        /**
         *
         * @param obj 传入需要验证的对象
         * @returns {boolean}
         */
        function isArray(obj) {
            return Object.prototype.toString.call(obj) == "[object Array]";
        }
    </script>

    下面来创建几个数组和非数组对象来验证一下这个方法:

     /*数字索引的数组*/
        var arr =[1,2,3];
        console.log(typeof arr);//object
        console.log(isArray(arr));//true
    
        /*非数字索引的数组*/
        var newArr = [];
        newArr['a'] = "sss";
        newArr['b'] = 88;
    
        console.log(typeof newArr);//object
        console.log(isArray(newArr));//true
    
        /*非数组的对象*/
        var dateObj = new Date();
    
        console.log(typeof dateObj);//object
        console.log(isArray(dateObj));//false

    二、方法二:用instanceof Array

    依旧用上面定义的2个数组和1个时间对象来测试

        //======用  instanceof Array 验证
        console.log(arr instanceof Array);//true
        console.log(newArr instanceof Array);//true
        console.log(dateObj instanceof Array);//false
  • 相关阅读:
    php 手动搭建环境
    C#开源大全项目
    基于Aforge的物体运动识别-入门
    第二阶段站立会议02
    第二阶段站立会议01
    第一次绩效评估
    意见评论
    团队项目评论
    意见汇总
    对“小小之植物人”的博客检查结果
  • 原文地址:https://www.cnblogs.com/hamsterPP/p/5406594.html
Copyright © 2011-2022 走看看