vue 把二维或多维数组转一维数组


Posted in Vue.js onApril 24, 2022

将二维数组转化为一维数组

需求

数组嵌套数据,导致循环不方便,想着将二维数组合并成一维数据,方便数据的操作

具体实现

利用reduce方法

reduce:不改变原数组,返回一个新的数组。就是遍历数组元素,从头开始,依次往下,第一个参数是上一次的返回值,第二个参数是下一个数组元素,首次的时候第一个和第二个参数分别是 array[0], array[1] ;

let flat=[[1,2,3],[4,5,6],[6,7,8]].reduce( (prev,next)=> {
    return prev.concat(next);//循环将数组进行拼接
});
console.log(flat);

vue 把二维或多维数组转一维数组

将多维数组转一维数组6种方法

ES6 flat方法

var arr=[1,[[[2,3],4]],5];
arr.flat(Infinity)//[1, 2, 3, 4, 5]

递归

var arr=[1,[[[2,3],4]],5];
var newArr=[];
function Arr(arr){
    arr.map(item=>{
        if(Array.isArray(item)){
             Arr(item)
        }else{
            newArr.push(item)
        }
    })
    return newArr
}
console.log(Arr(arr));//[ 1, 2, 3, 4, 5 ]

reduce +concat + 递归

var arr=[[[[2,3],4]],5];
function concatArr(arr){
  var newArr=arr.reduce((pre,next)=>{
       return pre.concat(Array.isArray(next)?concatArr(next):next)
  },[])
  return newArr;
}
console.log(concatArr(arr));//[ 2, 3, 4, 5 ]

join+split

var arr=[[1,2],3,[4,[5]]];
var arr1=arr.join().split(',');
console.log(arr1);//["1", "2", "3", "4", "5"]

toString+split

var arr=[[1,2],3,[4,[5]]];
var arr1=arr.toString().split(',');
console.log(arr1);//["1", "2", "3", "4", "5"]

eval

var arr=[[1,2],3,[4,[5]]];
var arr1=eval('[' + arr + ']');
console.log(arr1);//[ 1, 2, 3, 4, 5 ]

Tags in this post...

Vue.js 相关文章推荐
快速解决vue2+vue-cli3项目ie兼容的问题
Nov 17 Vue.js
vue 基于abstract 路由模式 实现页面内嵌的示例代码
Dec 14 Vue.js
vue中如何添加百度统计代码
Dec 19 Vue.js
Vue3 实现双盒子定位Overlay的示例
Dec 22 Vue.js
SpringBoot+Vue 前后端合并部署的配置方法
Dec 30 Vue.js
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
Apr 17 Vue.js
vue-cli4.5.x快速搭建项目
May 30 Vue.js
详解Vue slot插槽
Nov 20 Vue.js
教你部署vue项目到docker
Apr 05 Vue.js
vue3引入highlight.js进行代码高亮的方法实例
Apr 08 Vue.js
分享一个vue实现的记事本功能案例
Apr 11 Vue.js
VUE解决跨域问题Access to XMLHttpRequest at
May 06 Vue.js
Vue OpenLayer 为地图绘制风场效果
Apr 24 #Vue.js
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
vue @click.native 绑定原生点击事件
Apr 22 #Vue.js
vue实现省市区联动 element-china-area-data插件
vue修饰符.capture和.self的区别
Apr 22 #Vue.js
vue 自定义组件添加原生事件
Apr 21 #Vue.js
vue 自定义的组件绑定点击事件
Apr 21 #Vue.js
You might like
纯真IP数据库的应用 IP地址转化成十进制
2009/06/14 PHP
PHP 第二节 数据类型之数组
2012/04/28 PHP
php 字符串压缩方法比较示例
2014/01/23 PHP
PHP SPL标准库中的常用函数介绍
2015/05/11 PHP
在Linux系统下一键重新安装WordPress的脚本示例
2015/06/30 PHP
怎么清空javascript数组
2013/05/11 Javascript
ScrollDown的基本操作示例
2013/06/09 Javascript
导航跟随滚动条置顶移动示例代码
2013/09/11 Javascript
NodeJS学习笔记之FS文件模块
2015/01/13 NodeJs
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
Node.js编写爬虫的基本思路及抓取百度图片的实例分享
2016/03/12 Javascript
详解angular element()方法使用
2017/04/08 Javascript
JS实现上传图片实时预览功能
2017/05/22 Javascript
JQuery实现table中tr上移下移的示例(超简单)
2018/01/08 jQuery
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
2018/09/04 Javascript
JavaScript基于遍历操作实现对象深拷贝功能示例
2019/03/05 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
2020/07/26 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
[46:12]完美世界DOTA2联赛循环赛 DM vs Matador BO2第一场 11.04
2020/11/04 DOTA
Python中的startswith和endswith函数使用实例
2014/08/25 Python
Python中内置的日志模块logging用法详解
2016/07/12 Python
12个步骤教你理解Python装饰器
2019/07/01 Python
Python生命游戏实现原理及过程解析(附源代码)
2019/08/01 Python
python 模拟银行转账功能过程详解
2019/08/06 Python
python绘制动态曲线教程
2020/02/24 Python
django ListView的使用 ListView中获取url中的参数值方式
2020/03/27 Python
python爬虫学习笔记之pyquery模块基本用法详解
2020/04/09 Python
JSF的标签库有哪些
2012/04/27 面试题
副总经理岗位职责
2014/03/16 职场文书
股份合作协议书范本
2014/04/14 职场文书
协议书的格式
2014/04/23 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书
MySQL 5.7常见数据类型
2021/07/15 MySQL
nginx的zabbix 5.0安装部署的方法步骤
2021/07/16 Servers
AngularJS实现多级下拉框
2022/03/25 Javascript