美文网首页
js数组扁平化

js数组扁平化

作者: 没了提心吊胆的稗子 | 来源:发表于2019-07-29 10:05 被阅读0次

1、 利用apply和concat转换

function reduceDimension(arr) {
    return Array.prototype.concat.apply([], arr);
}

2、reduce

let flat = [[1,2,3],[4,5,6],[7,8,9]].reduce((prev, next) => {
    return prev.concat(next)
});

3、多维数组递归降维

let arr = [[12], 4, [333, [4444, 5555]], [9, [111, 222]]];
    function arrayConcat(ary, point) {
        return [].concat.apply(point || [], ary);
    }

    function reduceDimesion(ary) {
        var arrays = arrayConcat(ary);
        let newAry = [];
        for (var i = 0, len = arrays.length; i < len; i++) {
            if({}.toString.call(arrays[i]) === '[object Array]'){
                newAry = arrayConcat(arrays[i], newAry);
            } else {
                newAry.push(arrays[i]);
            }
        }
        return newAry;
    }

// 扩展 : n表示降多少维
function reduceDimesion(ary, n) {
        var arrays = arrayConcat(ary);
        let newAry = [];
        for (var i = 0, len = arrays.length; i < len; i++) {
            if({}.toString.call(arrays[i]) === '[object Array]' && n-- > 1){
                newAry = arrayConcat(arrays[i], newAry);
            } else {
                newAry.push(arrays[i]);
            }
        }
        return newAry;
    }

相关文章

  • js实现数组扁平化

    js实现数组扁平化 数组的扁平化,就是将一个嵌套多层的数组array(嵌套可以是任何层数)转换为只有一层的额数组。...

  • js数组与对象常用操作方法

    一、Js相关数组操作 数组去除相同的 数组添加数数据 数组反转 打乱数组排序 取数组的前几个 数组扁平化 遍历对象...

  • 封装常用数组操作函数

    1. 数组扁平化 方法一 : 递归迭代数组 方法二 : 通过js原生 falt方法展开数组 方法三 通过正则...

  • js数组扁平化

    扁平化 数组的扁平化,就是将一个嵌套多层的数组 array (嵌套可以是任何层数)转换为只有一层的数组。 递归 e...

  • js数组扁平化

    1、 利用apply和concat转换 2、reduce 3、多维数组递归降维

  • js数组扁平化

    现在有一个需求: 多维数组=>一维数组; var arr = [1,2,[3,4,[5,6,[7,8]]],[9,...

  • Js数组扁平化

    什么是数组扁平化? ['a','b','c'] //这是一个拥有3个元素的数组,是一个一维数组(不存在数组嵌套)。...

  • 5种方式实现数组扁平化

    5种方式实现数组扁平化 数组扁平化概念 数组扁平化是指将一个多维数组变为一维数组 实现 1. reduce 遍历数...

  • 手撕常见面试题

    DOM 事件代理 数组 对象 扁平化 去重 - unique() 拷贝 浅拷贝 深拷贝 copy()函数实现 JS...

  • Array, Object扁平化

    1. 数组扁平化 数组扁平化就是将多维数组转化为一维数组: 1.1 toString + split 先将数组转化...

网友评论

      本文标题:js数组扁平化

      本文链接:https://www.haomeiwen.com/subject/nutwkctx.html