保健励志美文体育育儿作文
投稿投诉
作文动态
热点娱乐
育儿情感
教程科技
体育养生
教案探索
美文旅游
财经日志
励志范文
论文时尚
保健游戏
护肤业界

6种数组扁平化实现方式,看看你能说几种?

  方式1:使用最基础的递归遍历方式
  使用基础遍历的方式,然后遍历的item项是否为数组,如果是数组递归执行扁平化函数,并把执行的结果与之前contact,如果item项非数组,则直接将值push到最初定义的数组中letarray〔1,〔2,34,〔12,4〕〕,23〕;functionflatten(array){letresult〔〕for(constitemofarray){if(Array。isArray(item)){resultresult。concat(flatten(item))}else{result。push(item)}}returnresult}console。log(flatten(array))
  方式2:使用reduce函数进行递归操作functionflatten(array){returnarray。reduce((pre,current,currentIndex,array){if(Array。isArray(current)){returnpre。concat(flatten(current))}else{returnpre。concat(current)}},〔〕)}
  方式3:while循环结合findIndex与扩展运算符
  实现思路:使用while循环,循环判断条件,concat以后的数组中是否包含数组类型,如果包含然后使用。。。扩展运算符进行展开并合并letarray〔1,〔2,34,〔12,4〕〕,23〕functionflatten(array){while(array。findIndex((item)Array。isArray(item)0)){array〔〕。concat(。。。array)}returnarray}console。log(flatten(array))
  方式4:数组强制类型转换
  实现思路:将数组进行强制类型转换,然后使用split分隔为数组,最后注意不要忘记转换为Number类型functionflatten(array){returnarray。toString()。split(,)。map(itemNumber(item))array。toString()转换后的结果1,2,34,12,4,23}console。log(flatten(array))
  方式5:使用JSON的函数和正则表达式
  实现思路:先使用JSON。stringify将数组进行转换,然后使用正则匹配去掉〔〕,在最外层增加〔〕,最后使用JSON。parse转换letarray〔1,〔2,34,〔12,4〕〕,23〕;functionflatten(array){letresultJSON。stringify(array);JSON。stringify转换后的结果〔1,〔2,34,〔12,4〕〕,23〕resultresult。replace((〔〕)g,);result〔result〕;returnJSON。parse(result)}console。log(flatten(array));
  方式6:使用栈和扩展运算符的方式实现扁平化
  实现思路:创建一个栈的结构,一个空数组,然后遍历栈结构,判断如果是数组,使用扩展运算符展开再次扔入栈中,如果不是就往新创建的数组头部增加functionflatten(arr){letres〔〕;conststack〔〕。concat(arr);console。log(哈哈哈,stack)while(stack。length0){console。log(stack。length,stack)constitemstack。pop();if(Array。isArray(item)){用扩展运算符展开一层stack。push(。。。item);}else{item!undefinedres。unshift(item);}}returnres;}console。log(flatten(array))
  方式7:使用ES6中的flatten函数
  实现思路:直接使用ES6提供的flatten函数实现扁平化flatten的语法是arr。flatten(〔depth〕)depth可以传递数组的展开深度,(默认不填时,数值是1),即展开一层数组。Infinity代表不论多少层都展开,同时也可以设置其他的整数,展开固定的层数letarray〔1,〔2,34,〔12,4〕〕,23〕functionflatten(array){returnarray。flat(Infinity)}console。log(flatten(array))
  讲完这6方式,你会发现ES6提供的函数优雅啊,还提供了扁平化层数的参数,可以选择性的扁平层数,那就留个作业吧,把上面的几种函数都修改为支持层数扁平化,思路(扁平化的层数支持实际是通过遍历递归控制的)

家乡的冬天学生作文350字家乡的冬天就这样来了,悄悄的,甚至没有注意到树叶的凋零,水就开始冷凝了。也许是因为鸭绿江这个自然空调,这里的冬天总是迟缓的。向阳的草地还挂着绿,背阴的草已经枯黄。银杏树上,还是……冬天来了的作文500字时序更迭,四季交替。春天鸟语花香,百花争奇斗艳,蝴蝶蜜蜂们穿梭其中,好不热闹;夏天火伞高张、艳阳高照,蝉声唧唧此起彼落,召唤热情;秋天芦苇花白了,枫叶红了,有着浓烈的乡愁;冬天……ahappyday英语作文带翻译TodayistheNationalDay。Itisourcountry39;sbirthday。Nowsheis56。Iamveryhappy。Todayintheaf……精华有关爱国的的作文600字集锦7篇在平平淡淡的日常中,大家都跟作文打过交道吧,作文根据体裁的不同可以分为记叙文、说明文、应用文、议论文。一篇什么样的作文才能称之为优秀作文呢?以下是小编帮大家整理的有关爱国的的作……手机vivo好还是华为好?中国目前的手机厂家不少,并且都已经取得了不错的成绩,这个成绩不单单是销量,还有在整个行业的设计、技术沉淀。在全球手机市场,中国的手机都有着举足轻重的地位,目前国内的几个手……六年级日记篮球比赛六年级日记:篮球比赛今天下午第三节课,我们学校开展了一次篮球比赛。只听裁判员一声令下,队员们在场上跑来跑去。体育老师一个盖帽就得了两分,另一支队伍也不示弱,一个漂亮的三分……2015高三毕业典礼校长致辞老师们、同学们:今天,阳光灿烂,校园里充满节日的欢愉、收获的喜庆。我们怀着激动的心情在这里隆重集会,举行2011届高三毕业典礼,共享桃李的芬芳,共话别离的眷恋。在此,我代……快乐的中秋节作文秋高气爽,瓜果飘香,我们迎来了一年一度的八月十五中秋节。我们全家都喜欢过中秋节,因为中秋节既是全家团圆的日子,这天还是我的生日。中午的时候,我们全家加上爷爷奶奶,姥娘姥爷……APP注册功能,用例怎么写?读者提问:APP注册功能,用例怎么写?阿常回答:假定该注册为手机号发送验证码的注册方式,注册界面存在3个输入框(手机号,密码,验证码),2个按钮(发送验证码,注册),和1……中国手机市场迎来洗牌,苹果仅排第三,第一名出人意料曾经我们说到华为手机,大部分人心中就是高端上档次的标签,但是由于一些众所周知的原因,华为经历了前所未有的限制,旗下的海思半导体部门只能设计芯片,无法继续生产芯片。这也导致受影响……2014江西中考作文勇往直前与学会等待二选一人生旅途中,难免遭遇困境,有时我们要义无反顾,勇往直前;有时我们又要沉着冷静,学会等待hellip;hellip;请从下面两道作文题中任选一题,写一篇文章。(1)勇往直前……乐于助人的老人作文在日常的学习、工作、生活中,大家都不可避免地会接触到作文吧,作文根据体裁的不同可以分为记叙文、说明文、应用文、议论文。那么你有了解过作文吗?以下是小编精心整理的乐于助人的老人作……
资讯27个平台删除22万冬奥侵权链接盲盒热滋生乱象01八部门加强网约车事前事中事后全链条联合监管2月15日,交通运输部、市场监管总局等8部门联合修订发布《关于加强网络预约出租汽车行业事前事中事后全链条联合监管有关工作的通……飞扬的记忆清晨的阳光在无垠的天际泛起了缕缕刚出生婴儿般娇嫩的光旭。于是,在那辽阔的地平线上,绽开了一朵花,盛放了优柔的笑脸,将那抹记忆播洒飞扬!也就是在这万籁俱寂的清晨,我们迎着风……36氪首发全球化人才AI招聘平台hireEZ完成B轮260036氪获悉,全球化人才AI招聘平台Hiretual(氦图科技)已于近日完成了B轮2600万美元的融资。本轮融资由美国的ConductiveVentures领投,中国创投基金蓝湖……跨境电商平台虾皮,会是你的增量吗?它如何复制国内互联网的路?这两天刷到了虾皮Shopee在抖音上投放的广告,就回想到当年抖音投放在各大平台的广告,这些新生事物的出现都值得我们去了解,因为只有增量才能创造普通人的财富奇迹。这两年为什么会内……带着目标上路优秀作文妈妈生了两个孩子,一个是排行老大的我,一个是排行老小的弟弟。刚上小学二年级的弟弟学习不好,于是便得不到父母的关爱,而我则与弟弟形成鲜明的对比,每次考试都在班上前十名之内,理所当……圆明园的毁灭读后感作文500字今天我读了《圆明园的毁灭》一文,我感受非常深:圆明园乃一座举世闻名的皇家林园、世界上最大的博物馆、艺术馆。然而,它被毁灭了!这是祖国文化史上不可估量的损失,也是整个世界上不可估……油管宣布进军区块链和元宇宙,产品主管粉丝可拥有视频来源:澎湃新闻流媒体视频平台YouTube近日公布了2022年进军区块链和元宇宙的计划,将致力于减少数字艺术市场中的欺诈行为,丰富观看游戏类内容时的社交体验。在未来,用户……同学之间不知不觉中,我已经在这个班级里生活了三年。这个班级仿佛像一个温暖的大家庭,我们手牵手,心连心,从生疏到熟悉。同学之间时而欢笑,时而打闹,时而产生矛盾,但这点点滴滴的小事更能促进……戴助听器头晕还可以戴吗?你好,初戴助听器是要有一个适应过程。1。首先在熟悉且安静的环境下使用助听器,练习区分环境里的声音,学会在两个人的情况下倾听对方说话。2。在最初使用时,助听器的音量应调小点,先练……90岁的老人听力不好适合戴助听器吗?除非有特别情况(比如中耳炎),老年聋最佳选择就是选配助听器。长寿的老人效果常常比较好。90岁的老人有听损且有残余听力是适合戴助听器的。请放心我们这百岁老人也在用助听器的。……触动心灵的歌初中生优秀作文800字篇一:触动心灵的歌歌声带给人的感受是美妙的。一首好歌就像一颗灵丹妙药,能在你心灵受到创伤时抚平你的伤疤;一首好歌就像一汪清泉,在你意志消沉时为你注上一股新的活力;一首好歌……大街上有人问你能借下手机打个电话,为什么说千万不能借?主要现在的手区别于以前的手机,以前的手机就只能打电话和发信息,那样肯定可以借,因为即使被骗了也就一部手机价值,但是目前手机相当于钱包,太多的APP,被骗手机相当于钱包丢了……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网