JavaScript数组(1)

2017-05-25  本文已影响0人  漫漫前端

创建数组

数组,即Array。在JavaScript中用的频率还是蛮高的,而且JS的数组相当灵活。
首先我们应该知道,数组是JS内置的众多对象之一,说白了,数组也是对象。既然是对象,那么对象的特征数组也肯定有。
我们先来创建创建数组,创建数组有以下几种方法:

1.new + 构造函数

来看以下代码

var arr1 = new Array();

定义一个变量arr1,然后使用new+Array构造函数创建数组,注意,这样创建出来的是一个空数组,可以用数组的length属性来查看

console.log(arr1.length);   //返回0

上面说了,Array也是对象,那么对象有属性有方法,Array肯定也有属性和方法咯,length就是Array的属性之一,用于获取数组长度
那么我们如何创建有长度或内容的数组呢?看以下代码

var arr2 = new Array(3);
arr2[0] = "tom";
arr2[1] = "halen";

同样使用构造函数创建一个数组,只不过我们这次在括号内定义了数组的长度为3,接下来我们使用变量[下标]的方式来给数组赋值。
这是一种很常见的方式,使用这种方式我们就可以给数组某个下标位置赋值,同时也能获取某个下标对应的值。

console.log(arr2[2]); //返回undefined,因为我们上面并没有给下标位置2进行赋值,所以默认是undefined

同样的,我们可以直接在括号内放入值而不必挨个赋值,

var arr3 = new Array("tom","alen","Jane");
console.log(arr3);// 返回["tom","alen","Jane"];

2.字面量方法

我们日常写JS更多的是使用对象字面量方式来创建对象,如下

var arr4 = ["hello","world",false,124];

看起来是不是简便多了?

检测数组

检测数组的方法有2种,一种就是大家所熟知的instanceof操作符,例如

    var array1 = ["124",124,false];
    console.log(array1 instanceof Array);//返回true

instanceof操作符用来检测引用类型,例如Function,Array等,因为数组也是对象,所以下面的代码同样返回true.

       console.log(array1 instanceof Object);  //返回true

另外一种就是ECMAscript5新增加的Array.isArray()方法,这个方法主要是用来解决数组跨框架判断错误的问题的,因此建议在浏览器支持的情况下优先使用该方法。栗子如下

     console.log(Array.isArray(array1));  //返回true
     var a = "something";
     console.log(Array.isArray(a));   //肯定返回false咯
上一篇 下一篇

猜你喜欢

热点阅读