概述
Array(数组)的方法有很多,不难,却总是忘记,今天特来记录
这里主要记录了Array对象的12种操作方法
分别是:增删排,截查拼转
其中:增删排修改原数组,截查拼转不修改原数组
一、数组元素首操作(增删)
- unshift:将一个或多个元素添加到数组的开头
作用:将一个或多个元素添加到数组的开头
语法:arr.unshift(element1, …, elementN)
参数:elementN表示被添加到数组开头的元素,可有1-多个
返回值:数组的最新长度
- shift
作用:从数组中删除第一个元素
语法:arr.shift()
参数:无参数
返回值:删除的元素
二、数组元素尾操作(增删)
- push
作用:将一个或多个元素添加到数组的末尾
语法:arr.push(element1, …, elementN)
参数:elementN表示被添加到数组末尾的元素,可有1-多个
返回值:数组的最新长度
- pop
作用: 从数组中删除最后一个元素
语法:arr.pop()
参数:无参数
返回值:删除的元素
三、数组元素的增删替换
- splice
作用:向/从数组中添加/删除/替换项目,然后返回被删除的项目
语法:arr.splice(index,deleteCount,item1,…,itemX)
返回值:被删除的元素组成的数组
参数 | 说明 |
---|---|
index | 规定添加/删除项目的位置,使用负数可从数组结尾处规定位置(必需) |
deleteCount | 规定应该删除多少个元素,可以是 “0”。未规定此参数,则删除从 index 开始到原数组结尾的所有元素 |
item1,…,itemX | 向数组添加的新项目。如果不指定,则只删除数组元素 |
四、数组元素的排序
- reverse
作用:反转数组(用于颠倒数组中元素的顺序)
语法:arr.reverse()
参数:无参数
返回值:反转之后的数组
- sort
作用:用于对数组的元素进行排序
语法:arr.sort(sortby)
参数:sortby是比较函数,可选。
返回值:排序后的数组
//默认按照Unicode编码排序
var a = [1,3,10,4,2];
arr.sort();
console.log(arr); // [1,10,2,3,4]
// 升序
var arr=[1,3,10,4,2,5];
arr.sort(function (a,b){
return a-b
});
console.log(arr);
//降序
var arr1=[1,3,10,4,2,5];
arr1.sort(function (a,b){
return b-a
});
console.log(arr1);
五、数组元素的截取
- slice
作用:从已有的数组中返回选定(截取)的元素
语法:arr.slice(start,end);
参数 | 说明 |
---|---|
start | 开始截取的下标。如果省略 ,则 slice 从索引 0 开始。如果 start大于原数组的长度,则会返回空数组 |
end | 截取结束的下标;如果 end 被省略,则 slice 会一直提取到原数组末尾。如果 end 大于数组的长度,slice 也会一直提取到原数组末尾 |
注 意: | 截取时包含开始下标,不包含结束下标 |
六、数组元素的查找
- indexOf
作用:查找指定内容在数组中首次出现的位置,
如果不存在,则返回-1。
语法: arr.indexOf(item,start)
返回值:首个被找到的元素在数组中的下标, 若没有找到则返回 -1
注意:从前向后查找
参数 | 说明 |
---|---|
item | 要查找的元素(必需) |
start | 开始检索的位置,其默认值为0.。索引值是负值,则从倒数第start个开始查找 |
- lastIndexOf
作用:查找一个指定的元素在数组中最后出现的位置
语法:arr.lastIndexOf(item,start)
返回值:首个被找到的元素在数组中的下标, 若没有找到则返回 -1
注意:从后向前查找
参数 | 说明 |
---|---|
item | 要查找的元素(必需) |
start | 开始检索的位置,其默认值为+Infinity。start>数组长度,会搜索整个字符串 |
七、数组拼接
- concat
作用:用于连接两个或多个数组
语法:arr1.concat(valueX)
参数:valueX可以是具体的值,也可以是数组
返回值:拼接后的新数组
八、数组转字符串
- join
作用:数组转字符串
语法:arr.join(sep)
参数:sepsep指定要使用的分隔符,默认使用逗号分隔
返回值:由数组元素+分隔符连接而成的字符串
var a = ['Wind', 'Rain', 'Fire'];
var myVar1 = a.join();
var myVar2 = a.join(', ');
var myVar3 = a.join(' + ');
var myVar4 = a.join('');
console.log(myVar1); //'Wind,Rain,Fire'
console.log(myVar2); //'Wind, Rain, Fire'
console.log(myVar3); // 'Wind + Rain + Fire'
console.log(myVar4); // 'WindRainFire'