zoukankan      html  css  js  c++  java
  • Array对象的判定

      /*
        关于JS对象类型的判断,最复杂的在于RegExp和Array了,判定RegExp的情形不较少,而Array就比较多了,下面就是判断Array的方法
         */
    
        //方法一:利用instanceof来判断对象是不是Array的实例
        function isArray(arr){
            return arr instanceof Array;
        }
    
        //方法二:利用constructor来判断
        function isArray(arr)
        {
            return !!arr && arr.constructor==Array;
        }
    
        //方法三:利用constructor和array的内置属性(实例方法)来判断一个对象是否是Array类型
        function isArray(arr) {
            return arr && typeof arr==="object" &&  'splice' in arr && 'join' in arr;
        }
    
        //方法四:通过sort方法的类型判断arr是不是Array对象的实例
        function isArray(arr)
        {
            return typeof arr.sort==="function";
        }
    
        //方法五:通过Array.prototype.toString.call()方法来判断对象
        function isArray(o) {
            try
            {
                Array.prototype.toString.call(o);
                return true;
            }
            catch (e)
            {}
            return false;
        }
    
        //方法六:通过typeof和数组的length属性来判断
        function isArray(o) {
            if(o && typeof o=="object" && typeof o.length=="number" && isFinite(o.length))
            {
                //通过length属性是否符合原生数组的length的特性来进行双重判定
                var _originalLength=o.length;
                o[o.length]="_test_";
                var _newLength=o.length;
                o.length=_originalLength;
                return _newLength==o.length+1;
            }
            return false;
        }
    
        //方法七:
        function isArray(array) {
            var result=false;
            try
            {
                new array.constructor(Math.pow(2,32));
            }
            catch(e)
            {
                result=/Array/.test(e.message);
            }
            return result;
        }
  • 相关阅读:
    CSU 1333 Funny Car Racing
    FZU 2195 检查站点
    FZU 2193 So Hard
    ZOJ 1655 FZU 1125 Transport Goods
    zoj 2750 Idiomatic Phrases Game
    hdu 1874 畅通工程续
    hdu 2489 Minimal Ratio Tree
    hdu 3398 String
    洛谷 P2158 [SDOI2008]仪仗队 解题报告
    POJ 1958 Strange Towers of Hanoi 解题报告
  • 原文地址:https://www.cnblogs.com/GreenLeaves/p/6437679.html
Copyright © 2011-2022 走看看