您的位置:首页 > Web前端 > JavaScript

JavaScript中数组(Array)的常用方法

2016-12-23 23:30 711 查看

Array:数组是一个特殊的对象

四个维度学习数组的方法

1.方法的作用

2.方法的参数

3.返回值

4.原有数组是否改变

var ary=[1,2,3,4];
console.log(ary);//[1,2,3,4]


1)push( items )

① 向数组的末尾添加项

② 要增加的数组项(a,b)如果是多项用逗号隔开

③ 返回数组的新长度

④ 原有数组改变

var result = ary.push(5,6);
console.log(result);//6
console.log(ary);//[1,2,3,4,5,6]


2)unshift( items )

① 向数组的开头添加项

② 要增加的数组项(a,b)如果是多项用逗号隔开

③ 返回数组的新长度

④ 原有数组改变

var result = ary.unshift(5,6);
console.log(result);//6
console.log(ary);//[5, 6, 1, 2, 3, 4]


3)shift()

① 删除数组的第一项

② null

③ 返回删除的数组项

④ 原有数组改变

var result = ary.shift();
console.log(result);//1
console.log(ary);//[2,3,4]


4)pop()

① 删除数组的最后一项

② null

③ 返回删除的数组项

④ 原有数组改变

var result = ary.pop();
console.log(result);//4
console.log(ary);//[1,2,3]


5)splice( start , deletecount , item)

① 删除数组项



1) splice(n) 从索引n开始删除到末尾

2) splice(n,m) 从索引n开始删除m个

3) splice(n,m,x) 从索引n开始删除m个,并且用x去到删除项的位置

4) splice(n,m,x,y) 从索引n开始删除m个,从参数m后面的所有参数都是用来替换到删除项目的位置

5) shift ⇒ splice(0,1)

6) pop ⇒ splice(length-1,1)

7) push ⇒ splice(length,0,’item’)

8) unshift ⇒ splice(0,0,x)

9) splice(0)⇒ 利用它的返回值可以实现克隆数组的目的

③ 返回删除的数组项组成的新数组

④ 原有数组改变

var result = ary.splice(1);
console.log(result);//[2, 3, 4]
console.log(ary);//[1]

var result = ary.splice(1,2);
console.log(result);//[2, 3]
console.log(ary);//[1, 4]

var result = ary.splice(1,2,5);
console.log(result);//[2,3]
console.log(ary);//[1,5,4]

var result = ary.splice(1,2,5,6);
console.log(result);//[2,3]
console.log(ary);//[1,5,6,4]

var result = ary.splice(0,1);
console.log(result);//[1]
console.log(ary);//[2,3,4]

var result = ary.splice(ary.length-1,1);
console.log(result);//[4]
console.log(ary);//[1,2,3]

var result = ary.splice(ary.length,0,5);
console.log(result);//[]
console.log(ary);//[1,2,3,4,5]

var result = ary.splice(0,0,5);
console.log(result);//[]
console.log(ary);//[5,1,2,3,4]

var result = ary.splice(0);
console.log(result);//[1,2,3,4]
console.log(ary);//[1,2,3,4]


6)slice()

① 从元素组中,复制截取数组



1) slice(0) 克隆数组(从头复制到尾)

2) slice(n) 从索引n开始复制到末尾

3) slice(n,m) 从索引n开始复制到索引m(不包含m)

4) slice(-n) slice支持负数 ⇒ slice(-n+ary.length)

③ 返回复制截取的新数组

④ 原有数组不变

var result = ary.slice(0);
console.log(result);//[1,2,3,4]
console.log(ary);//[1,2,3,4]

var result = ary.slice(1);
console.log(result);//[2,3,4]
console.log(ary);//[1,2,3,4]

var result = ary.slice(1,2);
console.log(result);//[2]
console.log(ary);//[1,2,3,4]

var result = ary.slice(-1);
console.log(result);//[4]
console.log(ary);//[1,2,3,4]


7)concat(arry,arry)

① 删除数组的最后一项

② 要拼接的数组或者数组项,如果是多个用‘,’隔开

③ 返回拼接好的新数组

④ 原有数组不变

var result = ary.concat([5],[6]);
console.log(result);//[1,2,3,4,5,6]
console.log(ary);//[1,2,3,4]


8)join()

① 把数组中的每一项按照指定的分隔符拼接成字符串

② 参数:分割符,如果不写默认是‘,’

③ 返回拼接好的字符串

④ 原有数组不变

var result = ary.join("+");
console.log(result);//'1+2+3+4'
console.log(ary);//[1,2,3,4]


9)reverse()

① 倒序数组

② null

③ 倒序过来后的原有数组

④ 原有数组改变

var result = ary.reverse();
console.log(result);//[4, 3, 2, 1]
console.log(ary);//[4, 3, 2, 1]


10)sort( )

① 按照指定的规则排序



1)升序

function(a,b) {return a-b};


2)降序

function(a,b) {return b-a};


③ 返回排好序的数组

④ 原有数组改变

var result = ary.sort(function(a,b){return b-a});
console.log(result);//[4, 3, 2, 1]
console.log(ary);//[4, 3, 2, 1]


以下方法在ie6-8下兼容性不好

11)indexOf()

① 查看数组项在数组中第一次出现的索引位置

② 要查看的数组项

③ 如果出现就返回对应的索引位置。否则返回-1

④ 原有数组不变

var result = ary.indexOf(2);
console.log(result);//1
console.log(ary);//[1, 2, 3, 4]


12)lastIndexOf()

① 查看数组项在数组中最后一次出现的索引位置

② 要查看的数组项

③ 如果出现就返回对应的索引位置。否则返回-1

④ 原有数组不变

var ary=[2,1,2,2,1];
var result = ary.lastindexOf(2);
console.log(result);//3
console.log(ary);//[2,1,2,2,1]


13)forEach()

① 循环遍历数组的每一项

② 参数是一个函数:function(item,index,originArray){}

③ 返回值是一个undefined

④ 原有数组不变

var result = ary.forEach(function(item,index,originArray){});
console.log(result);//undefined
console.log(ary);//[1,2,3,4]


14)map()

① 循环遍历数组

② 参数是一个函数:function(item,index,originArray){return item*index}

③ 是匿名函数的return的值组成的新数组,数组长度和原数组相同

④ 原有数组不变

var result = ary.map(function(item,index,originArray){return item*index});
console.log(result);//[0, 2, 6, 12]
console.log(ary);//[1, 2, 3, 4]


···
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript Array 对象