数组API——应用程序编程接口
- push()
含义:在数组末尾添加元素
参数:1~n (意思是可以添加多个值)
返回值:数组长度
var arr = [1,2,3,4];
var result1 = arr.push(5); //在数组末尾添加 5 ;也可以是arr.push(5,6,7,8...)
console.log(result1); //返回值为数组长度,5
console.log(arr); //添加 5 后的原数组
输出结果: 5
[1,2,3,4,5]
- pop()
含义:删除数组末尾的元素
参数:无
返回值:删除的元素
var arr = [1,2,3,4];
var result2 = arr.pop();
console.log(result2); //返回值为删除的元素,4
console.log(arr);
输出结果: 4
[1,2,3]
- shift()
含义:从数组中删除首部元素
参数:无
返回值:删除的元素
var arr = [1,2,3,4];
var result3 = arr.shift();
console.log(result3);
console.log(arr);
输出结果:1
[2,3,4]
- unshift()
含义:在数组首部添加元素
参数:1~n
返回值:数组长度
var arr = [1,2,3,4];
var result4 = arr.unshift('a'); //也可以是 arr.unshift('a','b','c'....)
console.log(result4);
console.log(arr);
输出结果:5
[a,1,2,3,4]
- reverse()
含义:反转(调换元素的位置)
参数:无
返回值:反转后的数组
var arr = [1,2,3,4];
var result5 = arr.reverse(arr);
console.log(result5);
输出结果: [4,3,2,1]
- sort()
见 js—排序案例
- slice() (不对原数组进行修改)
含义:获取子数组
参数:1个参数,表示提取子数组的开始位置,直到结束
2个参数,第一个表示开始位置,第二个表示结束位置(不包含结束位置)
返回值:子数组
1个参数时
var arr = [1,2,3,4,5]
var result6 = arr.slice(1); //获取子数组,从索引为1的位置开始,直到结束
console.log(arr);
console.log(result6); //返回值,子数组
输出结果:[1,2,3,4,5]
[2,3,4,5]
2个参数时
var arr = [1,2,3,4,5]
var result7 = arr.slice(1,4); //获取子数组,从索引为1的位置开始,直到位置为4时结束,不包括4
console.log(arr);
console.log(result7);
输出结果:[1,2,3,4,5]
[2,3,4]
- concat()
见 js—两个数组的拼接
- splice()
含义:切割,插入,替换
参数:begin, len, item1, item2, item3....
begin 开始操作的位置
len 删除元素的个数
item 插入的值
返回值:返回删除的元素组成的数组
var arr = [1,2,3,4,5,6];
var result = arr.splice(1,2,'a','b'); //从索引为1的位置开始,删除2位,再插入a,b
console.log(result); // 返回值:返回删除的元素组成的数组
console.log(arr);
输出结果:[2,3]
[1,'a','b',4,5,6]
- indexOf() (从首部开始搜索)
lastindexOf() (从尾部开始搜索)
含义:查找元素的位置
参数:一个参数时,表示元素
两个参数时,第一个表示元素,第二个表示开始搜索的位置
返回值:索引,如果找不到,则返回 -1
一个参数时
var arr = [1,2,3,'a','b',4,5,6,'a'];
var result = arr.indexOf('a'); //从首部开始搜索,遇到 a 即停止搜索
console.log(result);
输出结果: 3
两个参数时
var arr = [1,2,3,'a','b',4,5,6,'a'];
var result = arr.indexOf('a',4); //从索引为4的位置开始搜索
console.log(result);
输出结果: 8
var arr = [1,2,3,'a','b',4,5,6,'a'];
var result = arr.indexOf(8); //8不在数组中,所搜索不到
console.log(result);
输出结果: -1