js二维数组变为一维数组

1、用es5的reduce和concat组合

let list=[
                [1,2,3],[4,5,6],[7,8],[9]
        ]
        let lists=list.reduce((a,b)=>a.concat(b))
        console.log(lists)

es5的reduce和concat结合reduce的用法

数组方法reduce用来迭代一个数组,并且把他累积到一个值中。
使用 reduce 方法时,你要传入一个回调函数,这个回调函数的参数是一个 累加器 (比如例子中的 previousVal) 和当前值 (currentVal)。

reduce 方法有一个可选的第二参数,它可以被用来设置累加器的初始值。如果没有在这定义初始值,那么初始值将变成数组中的第一项,而 currentVal 将从数组的第二项开始。

使用 reduce 方法来让 array 中的所有值相加

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>reduce的使用</title>
</head>
<body>
 
<script>
var  arr = [1, 2, 3, 4, 5];
sum = arr.reduce(function(prev, cur, index, arr) {
     //输出的是第一项的值或上一次叠加的结果,正在被处理的元素,正在被处理的元素的索引值
     console.log(prev, cur, index);  
     return prev + cur;
})
console.log(arr, sum); //输入数组本身和最后的结果
</script>
</body>
</html>

在这里插入图片描述
concat的用法
concat()方法用于连接两个或多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个新数组
语法
arrayObject.concat(arrayX,arrayX,…,arrayX)
返回值
返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。

例子 1
在本例中,我们将把 concat() 中的参数连接到数组 a 中:
在这里插入图片描述

二、用es6的flat扁平处理

 let list = [
           [1,2,3],[4,5],[6,7,8],[9]
        ]
        let lists = list.flat()
        console.log(lists)

在这里插入图片描述

三、用apply实现

在这里插入图片描述

四、用call实现

在这里插入图片描述

五、用递归实现多维数组转化为一维数组

在这里插入图片描述

六、针对于简单的多维数组的转化在这里插入图片描述

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值