JS中常用的数组方法
1.push()方法
形式: push(元素1,…,元素n)
含义:将指定元素增加到原数组后面,会影响(增加)原数组(长度)
首先,定义一个数组并赋值
var colors=['red','yellow','blue'];
接着使用push()方法,并使它在控制台输出
colors.push('green','pink');
console.log(colors);
可以看到,在原数组上增加了两个元素,数组长度也从三增加到五。
2. unshift()方法
形式:unshift(元素1,…,元素n)
含义:将指定元素增加到数组前面,会影响(增加)原数组(长度)
在原数组中使用unshift()方法:
colors.unshift('gray','black');
console.log(colors);
可以看到,在数组前面增加了指定的两个元素
3.pop()方法
含义:弹出(删除)最后一个元素,并返回弹出的元素
console.log(colors.pop());
console.log(colors);
4.shift()方法
含义:删除数组第一个元素,并返回删除的元素,会影响原数组。
console.log(colors.shift());
console.log(colors);
此时,原数组的元素个数只有5个
5.splice()方法
形式:splice(index,count[,元素1,…,元素n])
含义:index为开始替换的元素序数,count为替换的个数
1)若参数只有index(位置)和count(数量),且count不为0时,为删除指定位置的元素数量
console.log(colors.splice(1,2));
console.log(colors);
删除了1位置和2位置的red和yellow,剩下三个元素
2)当参数为3个以上,且count不为0时,为替换操作
console.log(colors.splice(0,2,'red','yellow'));
console.log(colors);
将前面的两个元素替换为指定元素
3)当参数为3个以上,count为0时,为插入操作。
console.log(colors.splice(1,0,'black','blue','orange'));
console.log(colors);
6.slice()方法
形式:slice(index1[,index2])
含义:返回index1到index2之间的元素,不包含index2,若省略index2,则返回index1到数组结束位置
console.log(colors.slice(1,4));
7.sort()方法
含义:对数组进行排序,默认为升序
这里的升序按照的是字符串的排序方法,即按照首位开始进行升序排序
colors.sort();
console.log(colors);
var arr=[4,3,6,2,76,1,28,19];
arr.sort();
console.log(arr);
这个用来对数组随机排序`,sort()方法除了升序,其他的排序要使用匿名函数来实现
arr.sort(function(a,b){
// return a-b;//a-b为正数时,从小到大排序
return b-a;//b-a为正数时,从大到小排序
})
// console.log(arr);
// arr.sort(function(a,b){
// return Math.random()-0.5;
// })
console.log(arr);
``//这个用来对数组随机排序
8.concat()方法
形式:concat(数组1,…,数组n)
含义:将参数指定的数组和当前数组合并
var arr1 =[1,2,3];
var arr2 = [4,5,6];
var arr3 = [7,8,9];
console.log(arr1.concat(arr2,arr3));
//ES6扩展运算符...
var myarr=[...arr1,...arr2,...arr3];
console.log(myarr);
console.log(...arr1);
9.forEach()方法
含义:用于对数组的每个元素执行一次回调函数,第一个参数为 array 对象中每个元素需要调用的函数。
forEach() 方法中的各个参数说明如下:
currentValue 参数:必需参数,表示正在处理的数组元素(当前元素);
index 参数:可选参数,表示正在处理的当前元素的索引;
array 参数:可选参数,表示方法正在操作的数组;
thisArg 参数,可选参数,取值通常为 this,为空时取值为 undefined。
不改变原数组
arr=arr.forEach(function(item,index){
item=item*2;
console.log("arr["+index+"]="+item);
})
10.filter()方法
var newArr=arr.filter(function(item){
return item>10;
})
console.log(newArr);
11.find方法
含义:用于获取使回调函数值为 true 的第一个数组元素。如果没有符合条件的元素,将返回 undefined。
var newNum=arr.find(function(item){
return item>10;
})
console.log(newNum);
12.map()方法
含义:用于创建一个新的数组,其中的每个元素是指定数组的对应元素调用指定函数处理后的值。
var num=[1,2,3];
var newnum=num.map(function(item){
return item*item;
})
console.log(newnum);
13.reduce()方法
含义:用于使用回调函数对数组中的每个元素进行处理,并将处理进行汇总返回。
var num2=num.reduce(function(v1,item){
return v1+item*item;
});
console.log(num2);
好了,以上为JS数组常用的方法。好好学习~