• JavaScript统计数据处理(1)


    JavaScript是一种广泛使用网页编程语言,
    在浏览器中运用JavaScript技术处理统计数据具有最佳的推广传播效果

    数组是相同数据类型的数据按一定顺序排列的集合,组成数组的数据称为数组的元素。即数组是在程序设计中,为了处理方便,把具有相同类型的数据按有序的形式组织起来,这些按序排列的同类数据元素的集合称为数组。

    在程序执行过程中,数组具有运行速度快、占用内存少、处理方便等优势。几乎所有编程语言中都有数组这一数据类型和相关原生函数。JavaScript(简称JS)也不例外,随着版本的不断更新发展,JS数组功能也在不断提升。统计学中不同类型统计数据(截面数据、时间序列和面板数据)都可以通过JS数组来处理。熟练掌握JS数组技术是进入统计数据编程领域的基础。


    导读

    1、数组定义的方式

     [返回]

    I、使用构造函数
    var aArr = new Array();
    var bArr = new Array(10); 
    var cArr = new Array("first", "second", "third"); 
    

    II、使用构造函数
    var valArr = [23, 45, 41, 87]; 
    var strArr = ["first", "second", "third"]; 
    

    掌握JS数组对于网上统计数据处理致关重要。在银河网络统计学平台中,一般使用JS数组直接量方式表达和处理统计数据。

    2、按静态方式创建数组

     [返回]

    var arr1 = [23,45,67,12,33]; //一维数组
    var arr2 = [[23,45,67],[21,12,33],[41,15,36]]; //二维数组(3行x3列)
    var arr3 = [[23,45],[21,12,33,12],[41,15,36]]; //二维数组(不规则)
    var arr4 = [[23,45],123,[41,[15,36]]]; //混合数组
    

    3、按动态方式创建数组

     [返回]

    var arr = [];   //空数组
    arr[0] = 10;    //第1个元素为10
    arr[1] = 12;
    arr[2]=[]       //第3个元素为空数组
    arr[2][0]=15;  //第3个数组元素的第1个元素为15
    arr[2][1]=20;  //第3个数组元素的第1个元素为15
    

    注:数组是一组有序的数据集合,其索引从0开始

    4、数组元素的引用和修改

     [返回]

    console.clear();  //清空输出工作台
    var arr = [23,45,67,12,33];
    var oVal = arr[1]; //引用:将数组第2个元素45赋值给变量oValue
    arr[4] = 50;  //修改:将数组第5个元素33改为50
    var arrs = [[23,45],123,[41,[15,36]]];
    arrs[0][1]      //45
    arrs[1]         //123
    var val = arrs[2][1][0]   //15
    console.log(val);    //输出指定变量
    arrs[0][1] = 99;
    arrs[1] = 100;
    arrs[2][1][0] = 50;
    

    5、添加和删除元素

     [返回]

    console.clear();
    var arr = [23,45,67,12,33];
    arr.push(100,200);        //添加数据到结尾
    arr.unshift(200,100);     //添加数据到开始
    console.log(arr);
    arr.pop();                //删除原数组最后一项
    arr.shift();              //删除原数组第一项
    console.log(arr);
    arr = [23,45,67,12,33];
    arr.splice(3,0,100,200)  //插入100和200到67后面
    console.log(arr);
    arr = [23,45,67,12,33];
    arr.splice(2,1,100,200) //将100和200插入45之后并删除67
    console.log(arr);
    

    注:splice函数对数组插入并删除元素。arr.splice(index,howmany,item1,item2,...)中,index:指定新元素插入(或删除)的位置;howmany:要删除的项目数量(howmany为 0,则为插入);item1,item2,...:要插入(或删除)的新元素项

    6、数组的截取、拷贝和合并

     [返回]

    console.clear();
    var arr;
    var arr1 = [2,4,7,1,3];
    var arr2 = [3,5,6,2,7];
    var arr3 = [4,5,1,7,9];
    arr = arr1.slice(1,4); 
    //以数组的形式返回数组第1-3个元素,注意不包括第4个元素;
    //如果省略第2个参数4,将复制第1个参数1之后的所有元素
    arr = arr1.slice(0); 
    //返回数组的拷贝数组,注意是一个新的数组,不是指向
    arr = arr1.concat(arr2,arr3); 
    //将多个数组连接为一个数组,返回连接好的新的数组
    arr = arr1.concat(arr2,100,200);
    arr = arr1.concat(100,200,arr2,200,100);
    arr = arr1.concat("myArray",arr2); 
    console.log(arr);  
    

    7、一维数组排序

     [返回]

    console.clear();
    var arr,arr1,arr2,arr3,arr4;
    arr = [2,4,7,1,3];
    arr1 = arr.slice(0); 
    arr2 = arr.slice(0);
    arr3 = arr1.sort(); //对数组元素排序(升序)
    arr4 = arr2.reverse(); //反转元素(最前的排到最后、最后的排到最前)
    console.log(arr3.reverse());  //输出arr3的倒序
    var arr5=["George","John","Thomas","James","Adrew","Martin"];
    arr5.sort(); //直接按英文字母顺序排序
    console.log(arr5);
    //两个比较的元素分别为a, b
    var arr = [12,21,24,32,45,32,12,32,43];
    //升序
    arr.sort((a, b) => {
        return a - b
    })
    console.log(arr)
    //降序
    arr.sort((a, b) => {
        return b - a
    })
    console.log(arr)
    //乱序
    arr.sort((a, b) => {
        return Math.random()*2 - 1;
    })
    console.log(arr)
    

    注:arrNew = arrOld.sort()这行代码运行后,数组arrOld同时被排序,原数组的结构被打乱。为了保留原数组,可先用这行代码arrCopy = arrOld.slice(0)将数组arrOld备份到数组arrCopy中保留。arrNew = arrOld.reverse()同理。

    8、数组常用方法总结

     [返回]

    console.clear();
    var arr, str;
    var arr1 = [2,4,7,1,3];
    var arr2 = [2,9,6];
    var arr3 = [3,6,5,3];
    arr = arr1.concat(arr2,arr3);  //连接两个或更多的数组,返回新数组
    arr = arr1.slice(1,4);  //按指定起始下标返回数组片段
    str = arr1.toString();  //把数组转换为字符串
    str = arr1.join(":");   //返回指定分隔符的字符串
    arr1.pop();  //删除数组最后一个元素
    arr1.push(9,9,9);  //向数组的末尾添加一个或更多元素
    arr1.reverse();  //颠倒数组中元素的顺序
    arr1.sort();  //对数组的元素进行正序排序
    arr1.shift();  //删除第一个元素并返回数组
    arr1.unshift(8,8,8);  //向数组的开头添加一个或更多元素
    arr1.splice(1,2,7,7); //删除元素,并向数组添加新元素
    console.log(arr); 
    

    最后需要强调一下,JS数组的属性不多,最常用的设length属性,即返回数组元素总数。样例代码如下:

    console.clear();
    var arr, str;
    var arr1 = [2,4,7,1,3];
    var arr2 = [2,9,6];
    console.log(arr1.length);   //5
    console.log(arr2.length);   //3
    

    本文只介绍了JS数组的基本用法,当我们循序学完函数、对象等知识后,“数组进阶”还将进一步介绍JS数组的其它强大功能,从而满足承载和处理统计数据的要求。

    提示:本页中JS脚本代码可复制粘贴到JS代码运行窗口调试体验; 文本编辑快捷键:Ctrl+A - 全选;Ctrl+C - 复制; Ctrl+X - 剪切;Ctrl+V - 粘贴

  • 相关阅读:
    liunx下一些服务小知识
    hausaufgabe--python 32
    hausaufgabe--python 31
    UnicodeDecodeError: 'gbk' codec can't decode byte 0xbc in position 21: illegal multibyte sequence
    hausaufgabe--python 30
    Running error: 'utf-8' codec can't decode byte 0xb4 in position 0: invalid start byte
    hausaufgabe--python 29- File 2
    Hausaufgabe--Python 28-- File 1
    hausaufgabe--python 27
    hausaufgabe--python 26 -Dict 2
  • 原文地址:https://www.cnblogs.com/cloudtj/p/12895806.html
Copyright © 2020-2023  润新知