1、什么是数组

数组就是一组数据的集合

其表现形式就是内存中的一段连续的内存地址

数组名称其实就是连续内存地址的首地址

2、关于js中的数组特点

数组定义时无需指定数据类型

数组定义时可以无需指定数组长度

数组可以存储任何数据类型的数据(比如说一个元素保存整型,一个元素保存字符串型,这个在JS中是可以的)

3、数组的创建

var arrayObj = new Array(); //创建一个数组

var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度

var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值

4、数组方法

1 join

将数组中的每一个元素用指定的字符串连接起来,返回字符串

var arr = ["a","b","c"];
alert(arr.join(","));//返回a,b,c

2 slice

接受一个或两个参数,参数对应的是要返回项的起始位置和结束位置,若只有一个参数,该方法返回从参数指定位置到数组结尾的所有项,如果有两个参数则返回起始位置到结束位置之间的项但不包括结束位置项,返回的结果是一个新的数组,原数组不变

var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
alert(arr.slice(0, 3)); // 从索引0开始,到索引3结束,但不包括索引3: ['A', 'B', 'C']
alert(arr.slice(3)); // 从索引3开始到结束: ['D', 'E', 'F', 'G']

3 push

向数组末尾添加若干元素,返回添加元素后数组的长度

var arr = [1,2];
alert(arr.push('a','b'));//返回数组的长度2

 

4 pop

删除数组末尾最后一个元素,返回被删除的元素,若数组为空则返回undefined

var arr = [1,2,3];
alert(arr.pop());//返回被删除的元素3
var arr1 = [];
alert(arr1.pop());//返回undefined

5 unshift

在数组头部添加若干元素,返回添加元素后数组的长度

var arr = [1,2,3];
alert(arr.unshift("a","b"));//返回数组的长度5

6 shift

删除数组头部的第一个元素,并返回被删除的元素,若数组为空则返回undefined

var arr = [1,2,3];
alert(arr.shift());//返回头部被删除的项1

7 sort

对数组进行排序,返回排序以后的数组,默认把所有元素转化为字符之后再进行排序,排序以后会改变原数组

var arr = ["3","2",11];
alert(arr.sort());//返回11,2,3

8 reverse

对数组中的数据进行反转,返回反转后的数组

var arr = ["xu","biesuohua"];
alert(arr.reverse());

9 splice

从指定位置删除若干元素,然后再从该位置添加若干元素,结果返回被删除的元素,第一个参数表示起始删除的位置,第二个参数表示要删除元素的个数,之后的元素表示要添加的元素

var arr = ["a","b","c"];
alert(arr.splice(1,2,"d","e"));//从位置1开始删除2个元素,在1位置添加"d","e"两个元素,返回"b","c"
alert(arr);//arr数组变为a,d,e
alert(arr.splice(0,3));//从位置0开始,删除3个元素,返回"a","d","e"
alert(arr);//arr数组为空

10 concat

把当前数组与另一个数组连接起来,并返回新的元素,原来的数组不被改变,concat可以接收任意个元素和数组,并把数组拆开放入新的数组中

var arr = ["a","b","c"];
alert(arr.concat([1,2,3]));//数组arr不变,返回["a","b","c",1,2,3]
alert(arr.concat([1,2,[3,4]]));//返回["a","b","c",1,2,3,4]

11 map

对数组中的每一项运行函数,返回函数运行结果组成的数组,函数的参数是一个函数,而该函数接收三个参数:数组当前值,数组索引、数组

var arr = [1,2,3,-1];
alert(arr.map(function(x) {
      return x * x;
}
));//返回1,4,9,1

12 filter

对数组中的每一项运行函数,返回该函数返回true的元素组成的数组

var arr = [1,-3,2,-4,-6];
var newArr = arr.filter(function(x){
    if(x>=0){
        return true;
    }else{
        return false;
    }
})
alert(newArr)//返回1,2

13 toString

该方法返回由数组中每个值的字符串以逗号分隔而拼接的字符串,数组的每一项调用的是toString

var arr = [1,2];
alert(arr.toString());//返回1,2

14 valueOf

调用该方法返回的依旧是数组

var arr = [1,2];
alert(arr.valueOf());//alert返回的都是字符串,故返回1,2,而arr.valueOf()是数组
alert(arr.valueOf() instanceof Array);//返回true

15 toLocaleString

该方法返回一个数组值以逗号分隔的字符串,与toString不同的是数组的每一项调用的是toLocaleString

var arr = [1,2];
alert(arr.toLocaleString());//返回1,2

 

posted on 2018-01-09 00:10  秦丽华☺  阅读(151)  评论(0编辑  收藏  举报