数组里面可以放任意的数据类型,数组的索引是字符串类型的,如果不是字符串类型,则会隐式转换成字符串类型
数组的length属性储存了数组的长度
push(数据1,数据2,…)
向数组最后面添加多个数据,原数组被改变,返回值是改变后数组的length
let arr=[1,2,3];
arr.push(4,5,6);//arr=[1,2,3,4,5,6];
unshift(数据1,数据2,…)
向数组最前面添加多个数据,原数组被改变,返回值是改变后数组的length
let arr=[1,2,3];
arr.unshift(4,5,6);//arr=[4, 5, 6, 1, 2, 3];
pop()
把数组最后一个数据删除,原数组被改变,返回值是删除的数据
let arr=[1,2,3];
arr.pop();//arr=[1,2];
shift()
把数组最前面的数据删除,原数组被改变,返回值是删除的数据
let arr=[1,2,3];
arr.shift();//arr=[2,3];
splice(n,m)
从数组的索引n开始,删除m个数据,原数组被改变,返回的结果是删除的数据,数据是放在一个数组中的
let arr=[1,2,3,4,5,6,7];
arr.splice(2,3);//arr=[1,2,6,7];
splice(n,m,数据1,数据2,…)
从数据的索引n开始,删除m个数据,把多个数据添加在索引n前面
let arr=[1,2,3,4,5,6,7];
arr.splice(2,3,8,9);//arr=[1,2,8,9,6,7];
splice(0):表示删除数组索引0之后的所有数据
splice(1):表示删除数组索引1之后的所有数据
splice():表示不删除数据
reverse()
把原来的数组顺序颠倒位置排列,原数组被改变了,返回结果是倒序后的数组
let arr=[1,2,3,4,5,6,7];
arr.reverse();//arr=[7,6,5,4,3,2,1];
indexOf(指定数据)
查看指定数据在数组中的索引位置,如果指定数据不在数组里面,则返回结果是-1
let arr=[1,2,3,4,5,6,7];
arr.indexOf(1);//0
lastIndexOf(指定数据)
查看指定数据在数组中的索引位置,如果指定数据不在数组里面,则结果是-1
let arr=[1,2,3,4,5,6,7];
arr.lastIndexOf(6);//5
slice(n,m)
从索引n开始截取m-n个数据,没有改变原数组,返回的结果是截取的数据,这些数据放在一个数组中
let arr=[1,2,3,4,5,6,7];
let arr2=arr.slice(1,4);//arr2=[2,3,4];
concat(数组1,数组2);
原数组没有改变,返回的结果是合并后的新数组
let arr=[1,2,3,4];
let arr2=[5,6,7];
arr2.concat(arr);//[5, 6, 7, 1, 2, 3, 4]
join(拼接符)
拼接符需要是字符串,如果不是字符串,则隐式转成字符串,没有改变原数组,把数组中的每一项通过拼接符连接起来,成为一个字符串
let arr=[1,2,3,4,5,6,7];
let arr2=arr.join("-");//arr2="1-2-3-4-5-6-7";
sort()
把数组的每一项按照一定的顺序排列,改变原数组
排序规则:按照每一项的第一位数字从小到大排序,如果第一位数字相同,就按照第二位数字排序…
let arr3=[9,23,6,2,634,12,45];
arr3.sort();//[12, 2, 23, 45, 6, 634, 9]
sort(function(a,b){ return 值})
如果是正值,a,b就颠倒位置,如果是负值,a,b就不颠倒位置
var arr = [2,34,54,10,7];
arr.sort(function(a,b){
return a-b; //升序 从小到大
// return b-a; //降序 从大到小
})