ES6中新增数组方法

//eval 可以把字符串转为表达式
eval(ary.join('+'))
回调函数
forEach map some every filter reduce


var ary = [100,200,300,400];
let fn = (item,index)=>{// 回调函数
  // item 和 index 都是形参
  // item 是数组中的每一项
  // index 是每一项对应的索引
  console.log(item,index)
  item = 1000;
}
ary.forEach(fn);// fn 是 forEach的回调函数
var ary = [{a:100},{a:200},{a:300},{a:400},{a:500}];
let fn = (item,index)=>{
  item.a = 1000; //item是一个引用类型值
  return index;
}
var t1 = ary.forEach(fn);
var t2 = ary.map(fn)
console.log(t1,t2)
---map()
var arr = [100,200,300,400];
var newArr = arr.map((item)=>{
  return 1000+item
});
forEach和map的区别
forEach 没有返回值;forEach不能改变原有数组,如果是引用数据类型,可以改变
map有返回值,返回值是一个新数组,新数组是由每一个回调函数执行时候的返回值决定的

some()
只要有一个回调函数的返回值是true 则some的运行结果就是true;
一旦有一个回调函数的结果是true 则 后边的回调就不再执行了;

let bol = arr.some((item,index)=>{
    return item>600
})
every()
只要有一个回调函数的返回值是false则every的运行结果就是false
一旦有一个回调函数的结果是false则后边的回调就不再执行了;

let bol = arr.every((item,index)=>{
    return item>600
})
filter()
把回调函数return值是true的项复制一份放到新数组中;
let ary = [100,200,300,400];
let res3 = ary.filter(item=>{
  return item > 2
})
res3  => [100, 200, 300, 400]

reduce()
// 练习  使用reduce 实现数组求和;
let ary3 = [10,20,30,40];
let res6 = ary3.reduce((prev,next)=>{
  // debugger
  return prev + next
},1000)

prev在第一个回调函数执行的时候 是数组中的第一项,在这之后的回调函数执行时,prev是上一个回调函数的返回值
next在第一个回调函数执行的时候 是数组中的第二项,在这之后都是数组的下一项

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值