let children = [1, [2, [3]], [4,5]]
function simpleNormalizeChildren (children) {
for (let i = 0; i < children.length; i++) {
if (Array.isArray(children[i])) {
return Array.prototype.concat.apply([], children)
}
}
return children
}
console.log(simpleNormalizeChildren(children)) // [1, 2, Array(1), 4, 5]
concat方法能打平一层数组。
apply方法第二个参数则是一个数组,该数组的所有成员依次作为参数,在调用时传入原函数,效果如下
console.log([].concat([1], [2, [3]], [4,5])) // [1, 2, Array(1), 4, 5]
网友评论