您现在的位置:首页 >> 前端 >> 内容

ECMAScript语法之数组的学习

时间:2017/9/27 11:17:00 点击:

  核心提示:ECMAScript包括语法,类型,语句,关键字,保留字,操作符,对象。创建数组:创建没有内容的数组:var arr = new Array();//创建空数组var arr = new Array(...

ECMAScript包括语法,类型,语句,关键字,保留字,操作符,对象。

创建数组:

创建没有内容的数组:

var arr = new Array();//创建空数组

var arr = new Array(2);//创建一个空间为2的数组

var arr = []; //创建空数组

创建有内容的数组:

var arr = new Array(2,3);

var arr = new Array("123");

var arr = [1,2,3];

数组的读与写:

arr[1]与arr["1"]一样

var i='str';

arr[i]与arr['str']与arr['s'+'t'+'r']一样

arr[-1.2]把-1.2转为字符串,创建名为‘1.2’的属性

arr["1000"]是索引下标1000的元素

稀疏数组:

从0开始不连续索引的数组。

var arr = new Array(5);此时只是声明了数组的长度, 数组的索引还没有创建

var arr = [,,,]类似创建了长度为3的数组,但是数组的索引还没有创建

0 in arr ;//false

console.log(arr)//不同的浏览器有不同的输出结果,chrome输出[],firefox输出

[undefined,undefined,undefined],ie输出[,,,]

数组长度:

数组的长度可以操纵数组内拥有的元素

var arr =[1,2,3,4];

arr.length=2;//删除了数组3,4元素

arr.length=0;//重置数组

数组的方法:

join('分隔符');如果分隔符是空或者undefined则使用逗号分隔,数组元素之间用分隔符隔开组成

一个字符串,并返回字符串

reverse()倒序,在原来的数组上倒序

sort(function)对数组元素排序,并返回排序后的数组,也是在原来的数组上排序。当没有参数

时,按字母顺序排序。传入的函数参数可以规定排序规则,函数包括两个参数,第一个参数大于第

二个参数时,返回true

concat(array1,array2,array3....)创建并返回一个新数组。先创建当前数组的一个副本,然后如果

参数是数组,则简单的添加数组的每一项到副本的末尾,如果参数不是数组,则直接添加到副本的

末尾。该方法不改变原数组。

slice(start,end);获取数组的一部分。参数是原数组的的开始和结束位置,并返回子数组。该方法

不改变原数组。不包含end位置的元素。start+length要小于end+length,否则返回一个空数组,

参数可以是负数。

splice(deleteindex,number,insert...);该数组有三个参数,第一个是删除开始的下标,number是

需要删除的元素个数,insert是需要在deleteindex的位置开始插入的元素,第二个参数之后可以有

任意多个参数,都是要插入的元素。删除的元素从delerteindex开始计数。方法返回的是被删除的

元素组成的数组。该方法会改变原来的数组。

push(arg1,arg2,...)向数组的尾部添加元素,并返回数组新的长度。

pop()删除尾部的最后一个元素,并返回删除的元素

shift()删除数组的头部的第一个元素,并将删除的元素返回。

unshift(arg1,arg2,arg3....)向数组的头部增加一个或多个元素,并返回数组的长度。如果有多个参

数,参数在数组的顺序与在参数列表的顺序一样。

toString()将数组的每个元素转化为字符串(可以调用元素的toString方法),并用逗号隔开每个

分隔字符串列表。

toLocalString()是toString()的本地化版本。

forEach(function(x,index,arr));遍历数组,x为遍历的元素,index为元素的下标,arr为数组本

身。该方法只是遍历操作数组,不会有返回值。

map(function(item,index,arr))遍历数组,并返回一个新的数组。

filter(function(item,index,arr))过滤元素,返回一个数组。

every(function(item,index,arr))返回值是true或false,函数内只要一个返回false,则返回false.

some(function(item,index,arr))函数内只要一个是返回true的,则返回true.

reduce(function(result,item),inite)inite是初始值,result是每次函数调用返回的结果,开始的时

候result的值是inite的值。最后方法返回result.

reduceRight()与reduce的使用方法一样,不同的是reduceRight是从右到左遍历

indexOf(item,pos)搜索数组某一个值得下标,如果不存在,则返回-1,否则返回元素的下标。

item是需要搜索的值,第二个参数是开始搜索的位置。

lastIndexOf()与indexOf相反,从尾部开始搜索

判断数组类型:

Array.isArray([]);

[] instanceof Array

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

数组遍历:

for循环

continue跳出本次循环。

多维数组:

var row = new Array(10);

for(var i=0;i

row[i]= new Array[10];

}

Tags:EC CM MA AS 
作者:网络 来源:yangni