题解 | #数组扁平化#

数组扁平化

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);
}
全部评论
递归我测试没有实现合并为一个数组
点赞 回复 分享
发布于 2022-09-14 10:48 河南
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 湖北
很好,很多巧妙的方法
点赞 回复 分享
发布于 2023-07-18 23:16 四川

相关推荐

头像
09-12 16:00
已编辑
山西大学 后端
点赞 评论 收藏
分享
43 3 评论
分享
牛客网
牛客企业服务