1.给数组新增元素push()方法,在数组末尾添加,返回新数组
var arr = [1,2,3]; arr.push(4,2); console.log(arr);
结果是:[1,2,3,4,2]
2.给数组移除元素pop()方法,不需要传参数,返回新数组
var arr = [1,2,3]; arr.pop(); console.log(arr);
结果是:[1,2]
便于记忆,将push()和pop()放到一块对比,push()需要传入新添加的元素,pop()删除数组最后一项,不需要传入参数。
3.给数组新增元素unshift()方法,在数组前面添加,返回新数组
var arr = [1,2,3]; arr.unshift(4,5); console.log(arr);
结果是:[4,5,1,2,3]
4.给数组移除元素shift()方法,不需要传参数,返回新数组
var arr = [1,2,3]; arr.shift(); console.log(arr);
结果是:[2,3]
便于记忆,可以将unshift()、shift()方法与push()、pop()这一组方法对比,两者传参及使用方法一致,前者从数组第一项开始,后者从数组最后一项开始
5.讲数组内的所有项反转,末尾项成为第一项,方法为reverse()
var arr = [1,2,3]; arr.reverse(); console.log(arr);
结果是:[3,2,1]
reverse()方法使用场景并不多,我们使用sort()方法更多一些。
6.sort()方法排序,可以传参数也可以不传参数,如果不传参数的话,数组会按照字符编码的顺序进行排序(并不会按照数值大小来排序)。如果我们想实现按照数值大小来排序的话,必须传入参数,我们可以传入一个排序函数来解决这个问题
function sortNum(a,b){ return a-b; } var arr = [1,2,4,3,6,5]; arr.sort(sortNum); console.log(arr);
结果是:[1,2,3,4,5,6]
如果需要降序排列的话,只需要将排序函数中的a-b换成b-a即可
7.indexOf()和lastIndexOf()方法用来查找元素在数组中所在的位置,indexOf(item,[start]),lastIndexOf(item,[start])
var arr = [2,4,4,5,7,2,5,3,1,8,9]; console.log(arr.indexOf(3)); //7 console.log(arr.lastIndexOf(5));//6 console.log(arr.indexOf(4,2));//2 console.log(arr.lastIndexOf(4,1));//1
lastIndexOf()中的start为查找的起始位置,返回的结果从起始位置开始往前查找,找到的第一个匹配项,这里需要注意的是,lastIndexOf()应用范围并不多见,我们需要把常用的indexOf()记住
8.数组的连接使用的是concat(),该方法并不会改变原来的数组
var arr = [1,2,3]; var newArr = arr.concat(11,[222,33]); console.log(arr);//[1,2,3] console.log(newArr);[1,2,3,11,222,33]
9.数组分割方法slice(),slice(start,[end]),使用该方法后,返回一个新数组,包含从start到end(不包含该元素)的数组
var arr = [1,2,3,4,5]; var newArr = arr.slice(2); var newArr1 = arr.slice(2,4); console.log(arr);//[1,2,3,4,5] console.log(newArr);//[3,4,5] console.log(newArr1);//[3,4]
从结果可以看出,slice()并不会改变原有数组