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 相关文章推荐
详解vue-cli项目在IE浏览器打开报错解决方法
Dec 10 Vue.js
vue3+typeScript穿梭框的实现示例
Dec 29 Vue.js
Vue项目中使用mock.js的完整步骤
Jan 12 Vue.js
vue element el-transfer增加拖拽功能
Jan 15 Vue.js
vue 中this.$set 动态绑定数据的案例讲解
Jan 29 Vue.js
vue集成一个支持图片缩放拖拽的富文本编辑器
Jan 29 Vue.js
聊聊vue 中的v-on参数问题
Jan 29 Vue.js
VUE实现吸底按钮
Mar 04 Vue.js
VUE中的v-if与v-show区别介绍
Mar 13 Vue.js
vue使用refs获取嵌套组件中的值过程
Mar 31 Vue.js
vue特效之翻牌动画
Apr 20 Vue.js
Vue2项目中对百度地图的封装使用详解
Jun 16 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
php array的学习笔记
2012/05/10 PHP
基于python发送邮件的乱码问题的解决办法
2013/04/25 PHP
Laravel 5框架学习之表单
2015/04/08 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
2015/12/22 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
JS 用6N±1法求素数 实例教程
2009/10/20 Javascript
JS学习之一个简易的日历控件
2010/03/24 Javascript
JavaScript 程序编码规范
2010/11/23 Javascript
js预载入和JavaScript Image()对象使用介绍
2011/08/28 Javascript
关于JS管理作用域的问题
2013/04/10 Javascript
JS 各种网页尺寸判断实例方法
2013/04/18 Javascript
extjs render 用法介绍
2013/09/11 Javascript
bootstrap table 服务器端分页例子分享
2015/02/10 Javascript
jquery中attr和prop的区别分析
2015/03/16 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
简单的JS时钟实例讲解
2016/01/13 Javascript
javascript 中Cookie读、写与删除操作
2017/03/29 Javascript
Cpage.js给组件绑定事件的实现代码
2017/08/31 Javascript
JS使用队列对数组排列,基数排序算法示例
2019/03/02 Javascript
vue.js实现二级菜单效果
2019/10/19 Javascript
JavaScript冒泡算法原理与实现方法深入理解
2020/06/04 Javascript
Python CSV模块使用实例
2015/04/09 Python
通过mod_python配置运行在Apache上的Django框架
2015/07/22 Python
Python选课系统开发程序
2016/09/02 Python
使用Python实现将list中的每一项的首字母大写
2019/06/11 Python
python实现scrapy爬虫每天定时抓取数据的示例代码
2021/01/27 Python
英国最大的正宗复古足球衫制造商和零售商:TOFFS
2018/06/21 全球购物
工商管理专业自荐信
2014/06/03 职场文书
卖房协议书样本
2014/10/30 职场文书
2014年教师工作总结
2014/11/10 职场文书
2014年房地产销售工作总结
2014/12/01 职场文书
三年级上册科学教学计划
2015/01/21 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书
同意转租证明
2015/06/24 职场文书
《文化苦旅》读后感:阅读,让人诗意地栖居在大地上
2019/12/24 职场文书