zoukankan      html  css  js  c++  java
  • js将多维数组转换为一维数组的函数

    RGraph.array_linearize=function ()
    {
            var arr = []; //定义数组变量
       for (var i=0; i<arguments.length; ++i) { //数组的总个数
        if (typeof(arguments[i]) == 'object' && arguments[i]) {//数据类型是'object',并且当前数组不为空
          for (var j=0j<arguments[i].length; ++j{//
            var sub = RGraph.array_linearize(arguments[i][j]);
     
            for (var k=0k<sub.length; ++k{
              arr.push(sub[k]);
            }
          }
        } 
        else 
        {
          arr.push(arguments[i]);
        }
       } 
      return arr;
    }

     此函数的使用说明:

    RGraph.array_linearize(data);

    逐句分析:

       var arr = []; //定义数组变量
       for (var i=0; i<arguments.length; ++i) { //数组的总个数
        if (typeof(arguments[i]) == 'object' && arguments[i]) {//数据类型是'object',并且当前数组不为空,这里我进行调试时,才发现有自己有理解错误的地方
    //大家肯定明白了数组在js中的类型是object类型
    //然而数组的值(一维),在定义成不同的类型,如:int,stirng,那么它就是不同的类型
    //好吧我们可以这样的理解,你定义了一个 int 类型的二维数组,它的值是:[['1','2'],['1','2'],['1','2'],['1','2'],['1','2'],['1','2'],['1','2'],['1','2'],['1','2']]
    //在单元一中的第一个值是1,它的值的类型就是string类型
          for (var j=0j<arguments[i].length; ++j{//
            var sub = RGraph.array_linearize(arguments[i][j]);//第二次拖到外壳
     
            for (var k=0k<sub.length; ++k{
              arr.push(sub[k]);//进行数组的累加
            }
          }
        } 
        else 
        {
          arr.push(arguments[i]);
        }
       } 
      return arr;
  • 相关阅读:
    NSArray的枚举使用方法
    NSArray的创建(一)
    关于Description的一些理解
    NSString的形式--可变字符串--改方法Alter
    iOS音频流播放、后台播放、远程控制、锁屏封面等总结
    10个重要的算法C语言实现源代码
    OC方法积累
    UIDevice获取设备数据以及如何获取应用信息
    iOS如何取得APP的版本信息跟Apple服务器对比进行升级提示?
    新浪微博-开发过程
  • 原文地址:https://www.cnblogs.com/tianzhiyun/p/2839258.html
Copyright © 2011-2022 走看看