js数组

一、数组介绍

1、数组是有序列表,每一项可以保存任何类型的数据

关于对象属性:在 JavaScript 中,以数字开头的属性不能用点号引用,必须用方括号。如果一个对象有一个名为 3d 的属性,那么只能用方括号来引用它。

obj['3d']

 引出数组属性:

arr[0]  ||  arr['0']

2、创建数组的方式:

(1)构造函数

        var arr = new Array(1,2,3);
        console.log(arr);

 如果只是一个数字,表示数组的长度,比如:

        var arr = new Array(3);
        console.log(arr);
        
        //结果:[empty × 3]

 (2)数组字面量

与对象一样,数组字面量创建数组时,也不会调用Array构造函数。

        var arr = [1,2,3];
        console.log(arr);

3、数组的length属性可以读写,通过设置length的值,可以从数组的末尾移除或添加新的项。

4、数组调用toString方法:实际上数组的每项循环遍历调用toString方法,且是根据数组的每项的值的类型,调用对应类型的toString方法,此处特别注意对象的toString方法。特别注意:undefined和null没有toString方法,所以数组的toString方法在处理该项的时候,返回空字符。

例如:

        var arr = [1,2,"str",[false,[4],3],{name:"zhu"}];
        console.log(arr.toString());

        //结果
        1,2,str,false,4,3,[object Object]

 还有一些方法,会隐式的调用toString方法,比如alert方法,就会调用toString方法,那么当alert(数组)的时候,该数组也是执行toString()方法。

数组对toString方法进行了重写,但是由于undefined和null没有toString方法,所以数组调用toString方法时,如果有的项是undefined或null,该项得到的字符串为空。比如:

var arr = [undefined, null, 1, false, [2,3],{}, "abc"]
console.log(arr.toString());
",,1,false,2,3,[object Object],abc"

二、判断数组

1、调用对象的toString方法来判断

注意:此处的Object是构造函数

Object.prototype.toString.call(arr) === "[object Array]"

2、ES5的方法

Array.isArray()方法:该方法是Array构造函数上的方法

Array.isArray(arr)

3、arr.constructor其实是arr的原型上的构造函数属性constructor,指向Array的函数体

        var arr = [1,2,"str",[false,[4],3],{name:"zhu"}];
        console.log(arr.constructor);//Array的构造函数的函数体
        console.log((arr.constructor+"").indexOf("Array") !== -1)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值