题解 | #数组扁平化#

数组扁平化

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

function flatten(arr){
    // toString() + split() 实现   
    // return arr.toString().split(',').map(item => Number(item));

    // reduce 实现
    // return arr.reduce((target, item) => {
    //     return target.concat(Array.isArray(item) ? flatten(item) : item);
    // }, [])

    // join() + split() 实现
    // return arr.join(',').split(',').map(item => Number(item));

    // 递归实现
    // let res = [];
    // arr.forEach(item => {
    //     if (Array.isArray(item)) {
    //         res = res.concat(flatten(item))
    //     } else {
    //         res.push(item);
    //     }
    // });
    // return res;

    // 扩展运算符实现
    // while(arr.some(item => Array.isArray(item))){
    //     arr = [].concat(...arr);
    // }
    // return arr;

    // flat()实现(这里不支持使用)
    // return arr.flat(Infinity);
}
全部评论
很好,很多巧妙的方法
点赞 回复 分享
发布于 2023-07-18 23:16 四川
const _flatten = (arr,res = []) => { // 补全代码 arr.forEach(item => { if (Array.isArray(item)) { res = res.concat(_flatten(item)) } else { res.push(item); } }); return res; }
点赞 回复 分享
发布于 2022-11-09 16:46 湖北
递归我测试没有实现合并为一个数组
点赞 回复 分享
发布于 2022-09-14 10:48 河南

相关推荐

不愿透露姓名的神秘牛友
昨天 11:33
点赞 评论 收藏
分享
评论
45
3
分享

创作者周榜

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