为了账号安全,请及时绑定邮箱和手机立即绑定

求助,这段代码什么意思

求助,这段代码什么意思

慕后森 2018-10-10 13:15:14
const flatten = arr => arr.reduce(  function (a, b){    a.concat(Array.isArray(b) ? flatten(b) : b),[]  });定义了一个flatten函数,使用的是es6的箭头函数,传进去一个数组,对这个数据进行reduce方法,后边的那个,[]是什么意思没明白
查看完整描述

1 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

arr.reduce(callback, [initialValue])

reduce方法接受两个参数:

第一个参数是一个function,每次执行都回调用这个参数

第二个参数是初始值,就是那个[]。也就是说第一次调用function的时候,a[]

文档在这里

你的代码的问题:
刚执行了一次,发现少了点东西,应该是这样子:

const flatten = arr => arr.reduce(  function (a, b){    return a.concat(Array.isArray(b) ? flatten(b) : b)
  }, []
);


查看完整回答
反对 回复 2018-11-15
  • 1 回答
  • 0 关注
  • 496 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号