本篇文章小编给大家分享一下vue将二维数组转化为一维数组代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
将二维数组转化为一维数组
需求
数组嵌套数据,导致循环不方便,想着将二维数组合并成一维数据,方便数据的操作
具体实现
利用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);
将多维数组转一维数组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 ]
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级