js 验证对象是否为数组

由于typeof检测数组,只会显示其为object,并不会详细到告诉我们是否为array,所以:

<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
时间: 2024-11-06 12:48:00

js 验证对象是否为数组的相关文章

js判断对象是否为数组

1.ECMAScript5中有一个现成的方法:Array.isArray(). var obj = {1:[1],2:[2]}, arr = [1], str = "1"; Array.isArray(obj) // return false Array.isArray(arr) // return true Array.isArray(str) // return false 2.instanceofinstanceof操作符用于判断对象是不是类的实例.使用方法是object ins

js 根据对象属性对数组进行按字母排序

$scope.input.sort(compare('ticked','name')); var compare = function(ticked, name){ return function(a,b){ var t1 = a[ticked]; var s1 = a[name]; var t2 = b[ticked]; var s2 = b[name]; if(t1){ if(t2){ return s1.localeCompare(s2); }else{ return -1; } }els

JS判断对象是不是数组“Array”

在开发中,我们经常需要判断某个对象是否为数组类型,在Js中检测对象类型的常见方法都有哪些呢? typeof 操作符 对于Function, String, Number ,Undefined 等几种类型的对象来说,他完全可以胜任,但是为Array时 var arr=new Array("1","2","3","4","5"); alert(typeof(arr)); 你会收到一个object 的答案,有点让

JS中彻底删除json对象组成的数组中的元素

只是分享一个小知识~ 在JS中,对于某个由json对象组成的数组,例如: var test = [{ "a": "1", "b": "2" }, { "a": "3", "b": "4" }, { "a": "5", "b": "6" }]; 如果我们想要删除其中的第二

JS 字符串对象 数组对象 函数对象 函数作用域

一.内置对象 object对象:ECMAScript 中的所有对象都由这个对象继承而来:Object 对象中的所有属性和方法都会出现在其他对象中 ToString() : 返回对象的原始字符串表示.ValueOf() : 返回最适合该对象的原始值.对于许多对象,该方法返回的值都与 ToString() 的返回值相同 11种内置对象 包括: Array ,String , Date, Math, Boolean, Number  Function, Global, Error, RegExp ,

js实现对象-数组-字符串之间的相互转化

对象-数组-字符串: 例如: var data = { user:"userName", pass:"12121" };//这是一个对象 如果要给这个data 对象追加一个属性就比如: new Date( ).getTime( );//获取当前时间到那个时间的时间间隔单位是毫秒: data.time = new Date( ).getTime( ); 此时data 里面就多了一个属性: time : " 获取到的那个毫秒数" 即: var dat

常用JS验证和函数

下面是我常用一些JS验证和函数,有一些验证我直接写到了对象的属性里面了,可以直接通过对象.方法来调用 //浮点数除法运算 function fdiv(a, b, n) { if (n == undefined) { n = 2; } var t1 = 0, t2 = 0, r1, r2; try { t1 = a.toString().split(".")[1].length } catch (e) { } try { t2 = b.toString().split(".&q

js验证身份证

在页面中通过js验证身份证合法性,一般是通过正则表达式或工具类进行判断.下面是项目中验证身份证的合法性代码实现. 第一种:通过正则表达式进行简单校验. if ($("#cardType").val() == "01") { var _cardNo = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; if (!_cardNo.test(cardNo_val)) { $("#showerror").css(&q

分享我常用的一些JS验证和函数

下面是我常用一些JS验证和函数,有一些验证我直接写到了对象的属性里面了,可以直接通过对象.方法来调用//浮点数除法运算 function fdiv(a, b, n) { if (n == undefined) { n = 2; } var t1 = 0, t2 = 0, r1, r2; try { t1 = a.toString().split(".")[1].length } catch (e) { } try { t2 = b.toString().split(".&qu