题目是用一个函数拍平一个多层嵌套的数组,数组内只包含基本类型。这是我的解法:http://js.jirengu.com/hurir/1...报错如上图,为什么会这样呀,v1不是一个数组吗 ??这是要得到的结果:[2, 3, 'ss', 8, 8, 4,9, 2]求解答
2 回答
慕仙森
TA贡献1827条经验 获得超7个赞
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里面的‘高级’函数。
哔哔one
TA贡献1854条经验 获得超8个赞
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
}
}, [])
}
添加回答
举报
0/150
提交
取消