题解 | #数组扁平化#

数组扁平化

http://www.nowcoder.com/practice/5d7e0cf4634344c98e6ae4eaa2336bed

20_数组扁平化

本题考点:reduce、递归

根据题目要求,实现一个数组扁平化函数,核心步骤有:

  1. 返回一个数组的reduce方法,该reduce方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值,该函数第一个参数为初始值或计算之后的返回值,第二个参数为当前项的值。
  2. 在reduce接收的函数中返回一个结果的拼接(concat),当当前值数据类型为数组的时候,递归重新调用"flatten"函数,否则将值拼接在结果之后返回。

参考答案

const _flatten = arr => {
    return arr.reduce((result, item) => {
        return result.concat(Array.isArray(item) ? _flatten(item) : item)
    }, [])
}

全部评论

相关推荐

10-28 10:48
已编辑
门头沟学院 Java
孩子我想要offer:发笔试后还没笔试把我挂了,然后邮箱一直让我测评没测,后面不知道干嘛又给我捞起来下轮笔试,做完测评笔试又挂了😅
点赞 评论 收藏
分享
评论
13
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务