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;
  • 相关阅读:
    paip. everything exe 文件不能启动的解决
    paip.输入法编程词频顺序order by py
    paip.最新的c++ qt5.1.1环境搭建跟hello world
    paip.mysql 5.6 数据库 占用 内存 过多 的 解决方案
    paip.win32的internet扩展已停止工作解决大法
    paip.输入法编程删除双字词简拼
    paip.输入法编程词频调整单字优先编码发音一致优先的问题跟调整
    paip.输入法编程带ord gudin去重复
    paip.php eclipse output echo 乱码
    paip.svn使用最佳实践
  • 原文地址:https://www.cnblogs.com/tianzhiyun/p/2839258.html
Copyright © 2011-2022 走看看