二维数组数据变成一维数组

本文探讨了如何将二维数组转换为一维数组,包括使用ES5的concat和reduce,ES6的flat方法,以及利用map和filter实现。同时,还介绍了递归方法处理多维数组转化,并给出了各种方法的具体输出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在处理多数组组合时,经常要拼接成一个数组,今天我们一起聊聊数组的转变,主要聊聊二维变一维吧

1、用es5的reduceconcat组合

var list = [
  [111,222,3333,444],
  [555,666,777],
  [888],
  [999,1213]
]
var lists = list.reduce((a,b) => a.concat(b))
console.log(lists)

输出结果:
在这里插入图片描述

2、用ES6的flat扁平处理

var list = [
  [111,222,3333,444],
  [555,666,777],
  [888],
  [999,1213]
]
var lists = list.flat()
console.log(lists)

输出结果:
在这里插入图片描述

3、用apply实现

var list = [
  [111,222,3333,444],
  [555,666,777],
  [888],
  [999,1213]
]
var lists = [].concat.apply([],list)
console.log(lists)

输出结果:
在这里插入图片描述

4、用call实现

var list = [
  [111,222,3333,444],
  [555,666,777],
  [888],
  [999,1213]
]
var lists = [].concat.call([],...list)
console.log(lists)

输出结果:
在这里插入图片描述

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

在这里插入图片描述
输出结果:
在这里插入图片描述

6、针对于简单的多维数组的转化

var list = [
  [111,222,3333,444],
  [555,666,777,[123]],
  [888],
  [999,1212]
]
var lists = (list + '').split(',')
console.log(lists.map(Number))

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值