博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
多维数组,转化为一维数组多种解决方案
阅读量:5306 次
发布时间:2019-06-14

本文共 883 字,大约阅读时间需要 2 分钟。

//二维数组转化为一维数组的方法[[0, 1], [2, 3], [4, 5]].reduce(  ( accumulator, currentValue ) => accumulator.concat(currentValue),  []);

 

//多维数组 //es5写法 var arr = [1,2,[3,4,[5,6],7],[8,9],0]var newArr = [];function formatArr(arr){   if(arr.length<=1){    newArr.push(arr[0]);    return;  }  arr.forEach(function(item,index){    if(Array.isArray(item)){      newArr.concat(formatArr(item));    }else{      newArr.push(item);    }  })}formatArr(arr);console.log(newArr)

 

//es6使用generator和yelid结合的方式解决var arr = [1, [[2, 3], 4], [5, 6]];var flat = function* (a) {  var length = a.length;  for (var i = 0; i < length; i++) {    var item = a[i];    if (typeof item !== 'number') {      yield* flat(item);    } else {      yield item;    }  }};for (var f of flat(arr)) {  console.log(f);}

 最新发现一种是underscore函数式编程库中有一个方法_.flatten(arr)该方法无论几维数组都会被转化为一维数组。

转载于:https://www.cnblogs.com/HappyYawen/p/8533402.html

你可能感兴趣的文章
java复制文件
查看>>
第一册:lesson seventy nine.
查看>>
GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例
查看>>
团队作业
查看>>
数据持久化时的小bug
查看>>
mysql中key 、primary key 、unique key 与index区别
查看>>
bzoj2257
查看>>
Linux查看文件编码格式及文件编码转换<转>
查看>>
Leetcode: Find Leaves of Binary Tree
查看>>
Vue 模板解释
查看>>
http://www.bootcss.com/
查看>>
20145308 《网络对抗》 注入shellcode+Return-to-libc攻击 学习总结
查看>>
将多张图片和文字合成一张图片
查看>>
自己动手写ORM(01):解析表达式树生成Sql碎片
查看>>
如何使用USBWebserver在本机快速建立网站测试环境
查看>>
百度Ueditor编辑器的Html模式自动替换样式的解决方法
查看>>
变量提升
查看>>
线性表可用顺序表或链表存储的优缺点
查看>>
在现有的mysql主从基础上,搭建mycat实现数据的读写分离
查看>>
[Flex] flex手机项目如何限制横竖屏?只允许横屏?
查看>>