JavaScript入门之 ES5新增数组方法

forEach方法

需传入一个匿名函数,没有返回值
匿名函数可以传入三个形参
item item(数组第index个元素)
index(当前下标) 偶尔需要
arry(数组本身)这个一般情况下都不需要

用法

var arry = [84,4,99,68,48,87,8,1,5];
arry.forEach(function(item,index,arry){
    console.log(item,index,arry);
    //每次输出的值分别为 item(数组第index个元素) index(当前下标) arry(数组本身)
})

indexOf方法

查找一个值在数组中是否存在如果存在返回其所在下标如果不存在返回-1
只能查找基本数据类型不能查找对象数据类型
只有值和数据类型都匹配的情况下才返回下标
只会返回第一次出现的位置
第二个参数可以传入0到数组长度-1的任意值若传入了这个参数将从这个参数指定的位置查找

用法

var arry = ["84",4,"aa",{},48,87,"aa",function fn(){},1,5];
console.log(arry.indexOf(84)); 			//返回-1
console.log(arry.indexOf("84"));		//返回0
console.log(arry.indexOf("aa"));		//返回2
console.log(arry.indexOf({}));			//返回-1
console.log(arry.indexOf(5));			//返回8
console.log(arry.indexOf("aa",5));		//返回6
console.log(arry.indexOf(fn));			//报错fn is not defined

filter方法

须传入一个匿名函数根据函数内的条件返回一个新的数组
此方法不会改变原数组

用法

var arry = [84,4,99,68,48,87,8,1,5];
var brry = arry.filter(function(item,index,arry){
    return item%2;
})
console.log(brry); //输出的值为 [99, 87, 1, 5] 这里吧所有的偶数过滤掉了

map方法

须传入一个匿名函数根据函数内的返回值生成一个新的数组
此方法不会改变原数组

用法

var arry = [84,4,99,68,48,87,8,1,5];
var brry = arry.map(function(item,index,arry){
    return item+index;
})
console.log(brry); //输出的值为 [84, 5, 101, 71, 52, 92, 14, 8, 13]

reduce方法

须传入一个匿名函数根据函数得到最后返回出来的值
此方法不会改变原数组
prev 上次return的值第一个为数组下标0的值
next 下个数组的值

用法

var arry = [84, 4, 99, 68, 48, 87, 8, 1, 5];
var res = arry.reduce(function (prev,next) {
    return prev + next;
})
console.log(res); //输出404
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值