1.数组的添加
(1)push():在数组最后面插入项,返回数组的长度
数组改后的长度 = 数组.push(元素);
(2)unshift():在数组最前面插入项,返回数组的长度
数组改后的长度 = 数组.unshift(元素);
(3)concat(): 拼接数组,并不会影响原数组,会产生一个新数组
/*
concat 拼接两个数组,但是不能改变原数组的结构
*/
var arr =[1,2,3];
var obj = [4,5,6];
// arr.push(obj);
var newArray = arr.concat(obj)
console.log(newArray)
concat方法不会在原来数组的基础上进行添加,要想在原数组的之上进行添加,需要先用…将数组展开,然后用push
var arr1 = [1, 2, 3];
var arr2 = [1, 2, 3];
var obj = [4, 5, 6];
arr1.push(obj);
console.log(arr1);
/* 展开 */
arr2.push(...obj);
console.log(arr2);
(4)splice():定点添加
//当splice用来增添元素的时候,传参是这样的
arr.splice(index,0,parmas);
//其中index表示插入的位置,是从index前面增加,0表示删除0个元素,parmas表示插入的元素
//举例如下:
var skills = ['html','css','jq','js']
/* splice */
skills.splice(3,0,'vue','react')
console.log(skills)
2.数组的删除
(1)pop():从数组最后面删除,返回数组长度。与push()对应,都是栈方法。
(2)shift():从数组最前面删除,返回数组长度。与unshift()对应,都是队列方法。
(3)splice():定点删除
//当splice用来删除元素的时候,传参是这样的
arr.splice(index,howmany);
//其中index表示删除的开始位置,howmany表示要删除元素的个数
3.数组的修改
修改数组还是用splice方法,当splice用来修改数组的时候,传入三个参数
arrObject.splice(index,howmany,item)
//指定三个参数:起始位置,删除的项数,填入的元素
var arr = [1,2,3,4,5];
arr.splice(0,2,6,7);
alert(arr); //6,7,3,4,5
4.数组的查询
(1)indexOf(value)
indexOf(value) 查询对应值的下标,如果没有对应的值,则返回-1
//indexOf(value) 查询对应值的下标
var arr=[1,2,3,4];
console.log(arr.indexOf(1)); //0
(2)includes()
includes方法判断数组是否包含某个元素,返回一个布尔值
var arr = ['html','css','javascript']
console.log(arr.includes("javascript")) //true
5.数组的遍历
(1)for in遍历
数组遍历用的最多的还是for in遍历,此方法遍历的是数组的index下标
var arr= ['html','css','vue','react'];
for(var i in arr){
console.log(i); //数组的下标
console.log(arr[i]); //数组的值
}
(2)for of遍历
for of长的和for in差不多,只一个单词之差,但是刚好和for in相反,for of遍历的是值
for(var value of arr){
console.log(value);//直接遍历数组的值
}
(3)map方法
解释:对数组中每一项运行回调函数,返回该函数的结果,组成的新数组(返回值就是这个新的数组)。
举例:
var arr1 = ["千古", "宿敌", "南山忆", "素颜"];
var arr2 = arr1.map((item,index)=> {
return item + "vae"; //给arr1中所有的元素增加字符串"vae",放到arr2中。
});
console.log(arr1);
console.log(arr2);
(4)forEach方法
forEach方法遍历数组里面的方法传两个参数,第一参数表示值,第二个参数表示index下标。
arr.forEach((item,index)=>{
console.log(item);
console.log(index);
})
6.数组的其他方法
(1)join()将数组拼接成字符串
/* join(separator) join里的是分隔符 */
var arr =[1,2,3]
var str = arr.join("");
console.log(str) // 123
console.log(arr.join()) // 1,2,3
console.log(arr.join("/")) // 1/2/3
(2)sort()排序
如果仅仅使用sort排序,会只看数字的第一位排序,即仅仅把数字当作字符串在排序
var numbers = [4, 2, 5, 11, 13];
console.log(numbers); //[11,13,2,4,5]
在sort里面加上一个比较函数才能达到数字排序的效果
var numbers = [4, 2, 5, 11, 13];
numbers.sort(function(a, b) {
return a - b;
});
console.log(numbers); // [2,4,5,11,13]
(3)reduce()求和
var arr= [1,2,3,4];
var sum =arr.reduce((a,b)=>{
return a+b;
})
console.log(sum);
(4)reverse()反转
注意:reverse方法会改变数组
var arr = [11,23,13];
arr.reverse();
console.log(arr) //13,23,11
(5)slice()截取
slice()方法可以接受一个或两个参数,截取下来的数组还是一个数组。
在只有一个参数的情况下,slice()方法返回从该参数指定位置开始到当前数组末尾的所有项
如果有两个参数,该方法返回起始和结束位置之间的项,包头不包尾。
//arrayObject.slice(start,end)
//1个参数
var arr=[1,2,3,4];
var b=arr.slice(1);
console.log(b); //[2,3,4]
//2个参数
var c = arr.slice(1,3);
console.log(c); //[2,3]