前端学习之数组的方法

1、indexOf(el)
该方法从数组中返回指定元素的索引。

var arr = [1,2,3,4,5,6];
var num = arr.indexOf(3);  //num为2

2、slice(起始索引,结束索引)
该方法截取数组中指定索引之间的元素,包含起始索引的元素,但不包含结束索引的元素。slice若是只传单个参数,则从该参数位置起截取到数组结束。若是不传参数,则截取整个数组。

var arr = [a,b,w,r,y,v,s,e];
var arr2 = arr.slice(2,5);  //arr2 = [w,r,y]
var arr3 = arr.slice(2); //arr3 = [w,r,y,v,s,e]

3、splice(索引,长度,元素)
该方法可以从数组从删除指定索引起一定长度的元素,也可以在指定索引处添加若干元素。

var arr = ['a','b','c'];
arr.splice(1,2,'d','e');  //从索引1位置开始删除2个元素,然后再添加2个元素。arr = ['a','d','e']
arr.splice(2,1);  //只删除,不添加元素。arr = ['a','d']
arr.splice(1,0,'e','f');  //只添加,不删除。arr = ['a','d','e','f']

4、push和pop
push()方法向数组的末尾添加若干元素,pop()方法则把数组的最后一个元素删除。

var arr = [1,2,3,4,5,6];
arr.push(7);   //arr = [1,2,3,4,5,6,7]
arr.pop();   //arr = [1,2,3,4,5,6]

5、shift和unshift
unshift方法向数组的头部添加若干元素,shift方法则删除数组的第一个元素。

var arr = [1,2,3,4,5];
arr.unshift(6,7); //arr = [1,2,3,4,5,6,7]
arr.shift();  //arr = [2,3,4,5,6,7]

6、reverse
该方法会将数组元素反转。

var arr = [1,2,3,4,5];
arr.reverse();  //arr = [5,4,3,2,1]

7、concat
该方法将两个数组拼接起来,返回一个新数组。

var arr1 = [1,2,3];
var arr2 = ['a','b','c'];
var arr3 = arr1.concat(arr2);  //arr3 = [1,2,3,'a','b','c']
var arr4 = arr2.concat(['d','e']); //arr4 = ['a','b','c','d','e']

8、join
该方法可以把数组元素通过指定的符号连接起来。

var arr = ['l','i'.'k','e'];
str = arr.join("-");  //str = 'l-i-k-e'

9、map
该方法接收一个函数作为参数,并返回一个新数组,新数组的元素为原始数组元素调用函数处理之后的值。

function add(x) {
  return x+1;
}
var arr = [1,2,3];
var arr2 = arr.map(add); //arr2 = [2,3,4]

10、reduce
该方法把一个函数作用在数组元素上,这个函数必须接收两个参数。reduce把结果继续和序列的下个元素做计算。

//栗子:对数组求和
var function add(x,y){
 return x+y;
}
arr = [1,2,3,4,5];
var x = arr.reduce(add); //x = 15;

11、filter
该方法用于把数组的某些元素过滤掉,然后返回剩下的元素。和map方法类似filter方法也接收一个函数,和map不同的是filter把传入的函数依次作用与数组元素,然后根据返回值是true还是false,决定保留还是丢弃改元素。

//在某个数组中剔除偶数
function evenFn(x){
return x%2!== 0
}
var arr = [1,2,3,4,5,6];
var arr2 = arr.filter(evenFn); //arr2 = [1,3,5]

利用filter方法也可以做到数组去重。

var arr1 = [1,2,3,4,5,5,3,6];
var arr2 = arr1.filter(function(el,index,arr){
   return arr.indexOf(el) === index
});
//arr2 = [1,2,3,4,5,6]

利用indexOf方法总是返回查找到的第一个索引值,后续重复元素的索引值与indexOf返回的索引值不一致,因此被剔除了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值