vue 如何将二维数组转化为一维数组

目录
  • 将二维数组转化为一维数组
    • 需求
    • 具体实现
  • 将多维数组转一维数组6种方法
    • ES6 flat方法
    • 递归
    • reduce +concat + 递归
    • join+split
    • toString+split
    • eval

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

需求

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

具体实现

利用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 ]

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 将二维数组转为一维数组的2种方法

    如何将下面的二维数组转为一维数组. 复制代码 代码如下: $msg = array( array( 'id'=>'45', 'name'=>'jack' ), array( 'id'=>'34', 'name'=>'mary' ), array( 'id'=>'78', 'name'=>'lili' ),); 第一种方法: 复制代码 代码如下: foreach($msg as $k => $v){ $ids[] = $id; $names[] = $name; }

  • vue实现将一个数组内的相同数据进行合并

    获取服务器传来的数组数据进行,找出其中价格相同的进行数量相加,合并该段数据: /** 先将传来的订单列表进行四舍五入,再将价格相同的订单进行合并 * @param {Object} orderList :要进行操作的订单 */ async mergeOrder(orderList) { console.log(orderList); let contrast_1 = JSON.parse(JSON.stringify(orderList)); for(let x in contrast_1){

  • 使用vue中的v-for遍历二维数组的方法

    如下所示: <table cellpadding="0" cellspacing="0" class="clearfix bigTable" id='downloaddata'> <tr v-for='(item, index) in data'> <template v-for='items in item'> <template v-for='(itemss, indexs) in items' v-

  • vue 如何将二维数组转化为一维数组

    目录 将二维数组转化为一维数组 需求 具体实现 将多维数组转一维数组6种方法 ES6 flat方法 递归 reduce +concat + 递归 join+split toString+split eval 将二维数组转化为一维数组 需求 数组嵌套数据,导致循环不方便,想着将二维数组合并成一维数据,方便数据的操作 具体实现 利用reduce方法 reduce:不改变原数组,返回一个新的数组.就是遍历数组元素,从头开始,依次往下,第一个参数是上一次的返回值,第二个参数是下一个数组元素,首次的时候第

  • Java如何将二维数组转化为一维数组

    目录 将二维数组转化为一维数组 一维数组转化为二维数组 将二维数组转化为一维数组 1. 为了偷懒所以我写了一个随机生成二维数组的函数 /* * 自动创建随机为100以内的二维数组: int nums[x][y] * */ public static int[][] CreatedDemArray(int x,int y){ int nums[][]=new int[x][y]; for(int i=0;i<nums.length;i++){ for(int j=0;j<nums[i].leng

  • php实现给二维数组中所有一维数组添加值的方法

    本文实例讲述了php实现给二维数组中所有一维数组添加值的方法.分享给大家供大家参考,具体如下: 给二维数组中所有的一维数组添加值(索引和关联) $shop = array( 0=>array(0=>1,1=>2,2=>3,3=>4) ,1=>array(0=>1,1=>2,2=>3) ,2=>array(0=>1,1=>2,2=>3) ); print_r($shop); //示例 1:引用循环变量的地址赋值 foreach($

  • maptalks+three.js+vue webpack实现二维地图上贴三维模型操作

    我们不是走在坑里就是走在前往坑的路上_(:зゝ∠)_ 最终效果如图:(地图上添加一个"三维地图"的toolbar按钮,点击后在二维地图上贴上建好的三维模型点击显示弹框) 以下都在已经引入并且初始化maptalks地图的基础上,如何引入使用maptalks可以查看以下文章 https://www.jb51.net/article/192983.htm 1.安装maptalks.three包 npm install maptalks.three 2.安装three包 npm install

  • Vue——前端生成二维码的示例

    与后端生成二维码相比,前端生成二维码更具有灵活性,下面就介绍两种前端生成二维码的方式,两种方式相比之下,vue-qr比qrcode多了一个再中间添加logo的功能. 方式一:qrcode npm npm install --save qrcodejs2 import import QRCode from 'qrcodejs2' 使用 <div class="qrcode" ref="qrCodeUrl"></div>   <script

  • python将二维数组升为一维数组或二维降为一维方法实例

    目录 1. 二维(多维)数组降为一维数组 方法1: reshape()+concatenate 函数, 方法2: flatten() 函数, 方法3: itertools.chain 方法4: sum() 方法5:operator.add + reduce 方法6:列表推导式 2. 一维数组升为 2 维数组 方法1:numpy 方法 总结 1. 二维(多维)数组降为一维数组 方法1: reshape()+concatenate 函数, 这个方法是间接法,利用 reshape() 函数的属性,间接

  • JS一维数组转化为三维数组的实现示例

    今天在CSDN上问答区看到一个提问的小伙伴,是想要将一维数组转化为三位数组的需求,正好不是很忙,乐于助人的我立马给这位同学安排上,当然也没有顾及那么多去看资料什么的,就直接按照自己的思路走了!下方有源码 上面是他的数据格式,下面呢是要转化的数据格式 话不多说直接上代码 let arr = [{ 'peovince': 'a', 'city': 'b', 'area': 'c' }, { 'peovince': 'a', 'city': 'b', 'area': 'd' }, { 'peovinc

  • Numpy 将二维图像矩阵转换为一维向量的方法

    以下的例子,将32x32的二维矩阵,装换成1x1024的向量 def image2vector (filename): returnVect=zeros((1,1024)) f=open(filename) for i in range (32): lineStr =fr.readline() for j in range (32): returnVect[0,32*i*j]=int(lineStr[j]) return returnVect 以上这篇Numpy 将二维图像矩阵转换为一维向量的方

  • JS一维数组转化为三维数组方法

    有人提问想要将一维数组转化为三位数组的需求,下面就给提问的的小伙伴安排上 下面是后端同学返给我们的一维数组数据格式:     [{       '品牌': 'xiaomi', '机型': '10', '配置': '512'     },     {       '品牌': 'xiaomi', '机型': '10', '配置': '128'     },     {       '品牌': 'xiaomi', '机型': '11', '配置': '128'     },     {       '

  • vue简单的二维数组循环嵌套方式

    目录 二维数组循环嵌套方式 vue循环数组.循环嵌套数组v-for 利用Vue循环输出标签 前端页面输出循环嵌套数组 二维数组循环嵌套方式 <div class="box">   <div class="color">      <div>蓝色/尺码</div>   </div>   //这是简单的布局 .box{     border: 1px solid red;     display: flex;

随机推荐