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

关于一道数组的面试题~求解答

关于一道数组的面试题~求解答

德玛西亚99 2018-08-01 18:21:21

题目是用一个函数拍平一个多层嵌套的数组,数组内只包含基本类型。
这是我的解法:http://js.jirengu.com/hurir/1...

https://img2.sycdn.imooc.com/5b66fcdf0001450a04430275.jpg

https://img1.sycdn.imooc.com/5b66fcdf0001c6a704480307.jpg


报错如上图,为什么会这样呀,v1不是一个数组吗 ??
这是要得到的结果:[2, 3, 'ss', 8, 8, 4,9, 2]
求解答

查看完整描述

2 回答

?
慕仙森

TA贡献1479条经验 获得超1个赞

var flattendeep = arr => arr.reduce( (a,x)=> a.concat(Array.isArray(x)?flattendeep(x):x),[])

flattendeep([1,2,3,4,[5,6,[7,'ab']]])

=>[1,2,3,4,5,6,7,'ab']

这是lodash里面的‘高级’函数。


查看完整回答
反对 回复 2018-08-05
?
哔哔one

TA贡献1500条经验 获得超7个赞

  function fallten(arr) {

    return arr.reduce(function (v1, v2) {

      if (Array.isArray(v2)) {

        return v1 = v1.concat(fallten(v2))

      } else {

        v1.push(v2)

        return v1

      }

    }, [])

  }


查看完整回答
反对 回复 2018-08-05
  • 2 回答
  • 0 关注
  • 845 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信