数组--二维数组转为一维数组
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)
currentValue
:必须。当前元素的的值。index
:可选。当前元素的索引。arr
:可选。当前元素属于的数组对象。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);
数组--二维数组转为一维数组相关推荐
- 关于图的二维矩阵转为一维数组的理解。
一开始看二维矩阵转为一维数组的时候还是有点懵的,为啥是N(N+1)/2呢,为啥不是N*N/2呢,这个矩阵明明是N*N的一个正方形啊,我要省一半空间直接除2不就行了,带着这个问题我观察了一下这个PPT里 ...
- 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 ...
- KNIME中使用Unpivoting将二维表转为一维表
出现问题 因为是中文数据,使用CSV READER读取后出现乱码,同时Unpivoting中也出现乱码. 在该NOTE中设置字符: 原始数据 原表数据,从图中可以看出是二维表,不利于数据分析,目标是保 ...
- python二维列表转为一维列表(十五种方法)
随机生成二维列表: import random random.seed(123) a=[[random.randint(0,10) for j in range(random.randint(3,6) ...
- 数据建模中的二维表和一维表!
[讨论] 什么是表/一维表/二维表,哪位给个准确的定义 [复制链接] 透视表要求是一维表, 那什么是表.一维表.二维表呢?查了一下午也没有找到准确的定义, 把找到的内容罗列如下: ++++++++++ ...
- 使用zxing包生成和扫描二维码和一维码
在开发之前要先下载zxing包对其简化,新建一个android工程,把zxing包中的android和android-code中的文件复制到相应的文件夹里面 其中的libs文件夹里需要zxing包中的 ...
- python二维表转一维表_Excel、Power BI及Python系列:使用Power BI转化一维表与二维表...
上篇文章,老海分享了如何使用Excel完成一维表与二维表之间的转化 本篇老家继续分享使用Power BI来完成一维表与二维表的转化操作. 可能很多小伙伴,不太了解Power BI Power BI是什 ...
- mysql二维转一维_二维数组转为一维数组
1.很多时候会遇到二维数组,转为一维数组的时候会很苦恼,尤其是刚刚接触PHP的phper. 如下:将$arr转化为一维数组 $arr = Array ( Array ( 'uuid' => 'a ...
- vba二维数组初始化_将二维数组转为一维数组的2种方法
如何将下面的二维数组转为一维数组. $msg = array( array( 'id'=>'45', 'name'=>'jack' ), array( 'id'=>'34', 'na ...
- vue将二维数组对象转为一维数组对象
title: [{id: 1, name: '财会经济',children: [{id: 11, name: '初级会计'},{id: 12, name: '初级会计'}]},{id: 2, name ...
最新文章
- Closure Compiler 使用
- C#委托与事件 简明
- core 包的核心类JdbcTemplate
- [cpyhon源代码]dict对象原理学习
- Linux终端登录微信,Ubuntu18.04安装微信(Linux通用)
- .NET的Math.Round与数学无关。没关系!
- Oracle client 使用 .net程序连接 数据库时 出现 8.1.7 的解决办法
- ::在c++中什么意思
- 天翼校园客户端linux,GitHub - YianAndCode/f-surfing: 佛大广东天翼校园客户端在 Linux 下的解决方案...
- 6.郝斌C语言笔记——流程控制
- SAP PP 空bom 清单及处理
- 2021年英语六级翻译
- DM36x Rate Control Modes
- nmap 安装和使用
- 从浏览器地址栏输入url到请求返回发生了什么(深问)
- i5 11300H和r5 5500u的差距大不大
- MAGENTO网站如何设置PAYPAL收款方式
- 2021年全球直线导轨市场规模大约为142亿元(人民币),预计2028年将达到195亿元
- 基于VB环境下的语音识别程序开发方法
- iso镜像修改卷标名称
热门文章
- 独家|不做“拼多多”做“严选”,团好货转向,王兴电商梦再进一步
- 岗位等级培训计算机高级技师,哈工大工人技术等级培训岗位考核的暂行规定.docx...
- 软件开发中成品开发和定制开发的区别,你知道吗?
- 我国防疫数据报告,2022年广东花费711亿,北京人均支出第一
- 减少模型参数---模型剪枝(Pruning Deep Neural Networks)
- 织梦CMS安装分享插件
- OpenCV.SQR箱式滤波
- 【java编程思想002】操作符
- WSL1 和 WSL2 的优缺点
- 【全栈计划 —— 单片机】——Part_02 结合LED灯,拿捏底层输入输出