zoukankan      html  css  js  c++  java
  • 多维数组转一维数组

    方法一:使用数组concat方法,这个方法是属于取巧的一种

    var arr= [[0,0,1],[2,3,3],[4,4,5]];
    var newArr = [];
    for(var i=0;i<arr.length;i++){
         newArr=newArr.concat(arr[i])            
    }
    console.log(arr) //
    [[0,0,1],[2,3,3],[4,4,5]];
    console.log(newArr) // [0, 0, 1, 2, 3, 3, 4, 4, 5]

    方法二:也是数组 join 方法,但是有一个缺点就是使数组每一项都变成了字符串

    var arr=[1,[2,[[3,4],5],6]];
    function getArr(arr){ 
    return arr.join().split(",");
    }
    console.log(
    getArr(arr));

    方法三:递归

    var arr = [1,[2,[[3,4],5],6]];
    var newArr = [];
        
    function fun(arr){
            for(var i=0;i<arr.length;i++){
                if(Array.isArray(arr[i])){
                    fun(arr[i]);
                }else{
                    newArr.push(arr[i]);
                }
            }
        }
    fun(arr);
    console.log(newArr);//[1, 2, 3, 4, 5, 6]

    方法四:for in循环  递归

    其实第四种跟第三种差不多,换用写法而已

    var arr =[1,[2,[[3,4],5],6]];
    var newArr=[];
    function getArr(arr) {
    for(var k in arr) {
    if( arr[k] instanceof Array) {
    getArr(arr[k]);
    }
    else { newArr.push(arr[k]);
    }
    }
    return newArr;
    }
    console.log(getArr(arr));
  • 相关阅读:
    zz java compare 接口
    moodle 迁移
    Excel 散点图和折线图的区别
    leetcode Two Sum
    jQuery 常用方法大全<2>
    利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法
    回车验证信息
    SQL 创建密码
    高效的分页
    MVC 怎么样设置起始页
  • 原文地址:https://www.cnblogs.com/Scar007/p/8537089.html
Copyright © 2011-2022 走看看