题目是用一个函数拍平一个多层嵌套的数组,数组内只包含基本类型。
这是我的解法:http://js.jirengu.com/hurir/1...
报错如上图,为什么会这样呀,v1不是一个数组吗 ??
这是要得到的结果:[2, 3, 'ss', 8, 8, 4,9, 2]
求解答
题目是用一个函数拍平一个多层嵌套的数组,数组内只包含基本类型。
这是我的解法:http://js.jirengu.com/hurir/1...
报错如上图,为什么会这样呀,v1不是一个数组吗 ??
这是要得到的结果:[2, 3, 'ss', 8, 8, 4,9, 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里面的‘高级’函数。
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
}
}, [])
}
举报