资讯专栏INFORMATION COLUMN

JavaScript实现数组转换

tolerious / 433人阅读

摘要:用写一个函数,将嵌套的数组转换为扁平的数组,并按照从小到大排序例如输入输出如果是数组,就使用函数连接数组将数组项的值放进数组中比较函数

用JS写一个函数,将嵌套的数组转换为扁平的数组,并按照从小到大排序
例如:输入[1,2,3,[4,5,[6,[2,[3,[4]]]]],[6,8]],输出[1,2,2,3,3,4,4,5,6,6,8]

function flatten(arr) {
    var res = [];
    for(var i=0;i < arr.length; i++) {
        if(Array.isArray(arr[i])) {
            res = res.concat(flatten(arr[i]));  //如果是数组,就使用concat()函数连接数组
        } else {
            res.push(arr[i]);  //将数组项的值放进数组res中
        }
    }
    //比较函数
    function compare(value1 ,value2) {
        if(value1 < value2) {
            return -1;
        } else if (value1 > value2) {
            return 1;
        }else {
            return 0;
        }
    }
    res.sort(compare);
    return res; 
}


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/109036.html

相关文章

  • 如何删除 JavaScript 数组中的虚值

    摘要:知道如果我们将输入数组中的每个值都转换为布尔值,就可以删除所有值为的元素,这就满足了此挑战的要求。 翻译:疯狂的技术宅https://medium.freecodecamp.o... 本文首发微信公众号:前端先锋欢迎关注,每天都给你推送新鲜的前端技术文章 引用自 MDN: falsy(虚值)是在 Boolean 上下文中已认定可转换为‘假‘的值.JavaScript 在需要用到布...

    _Zhao 评论0 收藏0
  • JavaScript 工作原理之十五-类和继承及 Babel 和 TypeScript 代码转换探秘

    摘要:使用新的易用的类定义,归根结底也是要创建构造函数和修改原型。首先,它把构造函数当成单独的函数且包含类属性集。该节点还储存了指向父类的指针引用,该父类也并储存了构造函数,属性集和及父类引用,依次类推。 原文请查阅这里,略有删减,本文采用知识共享署名 4.0 国际许可协议共享,BY Troland。 本系列持续更新中,Github 地址请查阅这里。 这是 JavaScript 工作原理的第...

    GeekGhc 评论0 收藏0
  • JavaScript 工作原理之十五-类和继承及 Babel 和 TypeScript 代码转换探秘

    摘要:使用新的易用的类定义,归根结底也是要创建构造函数和修改原型。首先,它把构造函数当成单独的函数且包含类属性集。该节点还储存了指向父类的指针引用,该父类也并储存了构造函数,属性集和及父类引用,依次类推。 原文请查阅这里,略有删减,本文采用知识共享署名 4.0 国际许可协议共享,BY Troland。 本系列持续更新中,Github 地址请查阅这里。 这是 JavaScript 工作原理的第...

    BigNerdCoding 评论0 收藏0
  • 学习JavaScript数据结构与算法(三):集合

    摘要:至于这三个的具体概念,可以看图中集合的实现首先,创建一个构造函数。前端路漫漫,且行且歌的前端乐园原文链接寒假前端学习学习数据结构与算法三集合 本系列的第一篇文章: 学习JavaScript数据结构与算法(一),栈与队列第二篇文章:学习JavaScript数据结构与算法(二):链表第三篇文章:学习JavaScript数据结构与算法(三):集合第四篇文章:学习JavaScript数据结构与...

    BDEEFE 评论0 收藏0
  • JavaScript是如何工作的:深入类和继承内部原理+Babel和 TypeScript 之间转换

    摘要:下面是用实现转成抽象语法树如下还支持继承以下是转换结果最终的结果还是代码,其中包含库中的一些函数。可以使用新的易于使用的类定义,但是它仍然会创建构造函数和分配原型。 这是专门探索 JavaScript 及其所构建的组件的系列文章的第 15 篇。 想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! 如果你错过了前面的章节,可以在这里找到它们: JavaScript 是...

    PrototypeZ 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<