a.二维数组转为一维数组:

i.reduce() 方法

接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。对空数组是不会执行回调函数的

语法:array.reduce(function(total,currentValuue,currentIndex,arr),initiaValue)

let arr = [[1, 4, 5, 6],[8, 4, 7, 6],[1, 5, 10, 47]];let arr1 = arr.reduce((total, currentValue) => {return total.concat(currentValue);});
console.log(arr1);

ii.map()

map()方法定义在JavaScript的Array中,返回一个新的数组,新返回数组中的每个元素为原始数组的每一个元素分别调用map中的回调函数处理后的值

注意:

  • 不会对空数组进行检测
  • 不会改变原始数组(返回新数组)
  • 不会为数组中缺少的元素调用回调函数
  • 除数组对象外,map()可由具有length属性且具有已按数字编制索引名的任何对象使用(如字符串对象)

语法:

array.map(function(currentValue, index, arr), thisIndex)
  1. currentValue必须。当前元素的的值。
  2. index可选。当前元素的索引。
  3. arr可选。当前元素属于的数组对象。
  4. thisValue可选。对象作为该执行回调时使用,传递给函数,用作"this"的值
let arr = [[1, 4, 5, 6],[8, 4, 7, 6],[1, 5, 10, 47]];
function flatten(arr) {/*** ...arr ==> 等价于 [1, 4, 5, 6] [8, 4, 7, 6] [1, 5, 10, 47]* currentValue => 等价于 上面的一个个一维数组*/return [].concat(...arr.map(currentValue => Array.isArray(currentValue) ? flatten(currentValue) : currentValue))}
var arr2 = flatten(arr);console.log(arr2);

iii.apply()

Function.apply(obj,args)方法能接收两个参数
obj:这个对象将代替Function类里this对象
args:这个是数组,它将作为参数传给Function(args-->arguments)

可以将一个数组默认的转换为一个参数列表:[param1,param2,param3] 转换为 param1,param2,param3

let arr = [[1, 4, 5, 6],[8, 4, 7, 6],[1, 5, 10, 47]];
var arr2 = [].concat.apply([], arr);console.log(arr2);

iv.split()

通过将数组转变成字符串,利用str.split(',')实现

var arr = [[1, 4, 5, 6],[8, 4, 7, 6],[1, 5, 10, 47]];var arr1 = (arr + '').split(',');// var arr1 = arr.toString().split(',');// var arr1 = arr.join().split(',');
console.log(arr1);


数组--二维数组转为一维数组相关推荐

  1. 关于图的二维矩阵转为一维数组的理解。

    一开始看二维矩阵转为一维数组的时候还是有点懵的,为啥是N(N+1)/2呢,为啥不是N*N/2呢,这个矩阵明明是N*N的一个正方形啊,我要省一半空间直接除2不就行了,带着这个问题我观察了一下这个PPT里 ...

  2. matlab 三维数组 二维,Matlab相关——三维数组变二维

    代码 m=255*335;n=33; A=zeros(m,n); // 创建一个空的二维数组 for x=1:1:255 // x从1遍历到255,步长为1(是叫做步长吧) for y=1:1:335 ...

  3. KNIME中使用Unpivoting将二维表转为一维表

    出现问题 因为是中文数据,使用CSV READER读取后出现乱码,同时Unpivoting中也出现乱码. 在该NOTE中设置字符: 原始数据 原表数据,从图中可以看出是二维表,不利于数据分析,目标是保 ...

  4. python二维列表转为一维列表(十五种方法)

    随机生成二维列表: import random random.seed(123) a=[[random.randint(0,10) for j in range(random.randint(3,6) ...

  5. 数据建模中的二维表和一维表!

    [讨论] 什么是表/一维表/二维表,哪位给个准确的定义 [复制链接] 透视表要求是一维表, 那什么是表.一维表.二维表呢?查了一下午也没有找到准确的定义, 把找到的内容罗列如下: ++++++++++ ...

  6. 使用zxing包生成和扫描二维码和一维码

    在开发之前要先下载zxing包对其简化,新建一个android工程,把zxing包中的android和android-code中的文件复制到相应的文件夹里面 其中的libs文件夹里需要zxing包中的 ...

  7. python二维表转一维表_Excel、Power BI及Python系列:使用Power BI转化一维表与二维表...

    上篇文章,老海分享了如何使用Excel完成一维表与二维表之间的转化 本篇老家继续分享使用Power BI来完成一维表与二维表的转化操作. 可能很多小伙伴,不太了解Power BI Power BI是什 ...

  8. mysql二维转一维_二维数组转为一维数组

    1.很多时候会遇到二维数组,转为一维数组的时候会很苦恼,尤其是刚刚接触PHP的phper. 如下:将$arr转化为一维数组 $arr = Array ( Array ( 'uuid' => 'a ...

  9. vba二维数组初始化_将二维数组转为一维数组的2种方法

    如何将下面的二维数组转为一维数组. $msg = array( array( 'id'=>'45', 'name'=>'jack' ), array( 'id'=>'34', 'na ...

  10. vue将二维数组对象转为一维数组对象

    title: [{id: 1, name: '财会经济',children: [{id: 11, name: '初级会计'},{id: 12, name: '初级会计'}]},{id: 2, name ...

最新文章

  1. Closure Compiler 使用
  2. C#委托与事件 简明
  3. core 包的核心类JdbcTemplate
  4. [cpyhon源代码]dict对象原理学习
  5. Linux终端登录微信,Ubuntu18.04安装微信(Linux通用)
  6. .NET的Math.Round与数学无关。没关系!
  7. Oracle client 使用 .net程序连接 数据库时 出现 8.1.7 的解决办法
  8. ::在c++中什么意思
  9. 天翼校园客户端linux,GitHub - YianAndCode/f-surfing: 佛大广东天翼校园客户端在 Linux 下的解决方案...
  10. 6.郝斌C语言笔记——流程控制
  11. SAP PP 空bom 清单及处理
  12. 2021年英语六级翻译
  13. DM36x Rate Control Modes
  14. nmap 安装和使用
  15. 从浏览器地址栏输入url到请求返回发生了什么(深问)
  16. i5 11300H和r5 5500u的差距大不大
  17. MAGENTO网站如何设置PAYPAL收款方式
  18. 2021年全球直线导轨市场规模大约为142亿元(人民币),预计2028年将达到195亿元
  19. 基于VB环境下的语音识别程序开发方法
  20. iso镜像修改卷标名称

热门文章

  1. 独家|不做“拼多多”做“严选”,团好货转向,王兴电商梦再进一步
  2. 岗位等级培训计算机高级技师,哈工大工人技术等级培训岗位考核的暂行规定.docx...
  3. 软件开发中成品开发和定制开发的区别,你知道吗?
  4. 我国防疫数据报告,2022年广东花费711亿,北京人均支出第一
  5. 减少模型参数---模型剪枝(Pruning Deep Neural Networks)
  6. 织梦CMS安装分享插件
  7. OpenCV.SQR箱式滤波
  8. 【java编程思想002】操作符
  9. WSL1 和 WSL2 的优缺点
  10. 【全栈计划 —— 单片机】——Part_02 结合LED灯,拿捏底层输入输出