记录JS常用数组方法

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()并不会改变原有数组









猜你喜欢

转载自blog.csdn.net/favoritestudent/article/details/79636210