zoukankan      html  css  js  c++  java
  • JavaScript:数组

    1.什么是数组:

    数组是一种数据类型,它包含或者存储了编码的值。每个编码的值称作该数组的一个元素,每个元素的编码被称作下标。

    数组就是一组数的集合,在内存中表现为一段连续的内存地址。创建数组最根本的目的:就是为了能够保存更多的数据。

    2.数组的定义

    在JavaScript中,数组一共有两种定义方式:

    (1)隐式创建

    var 数组名称 = [数组元素1,数组元素2,数组元素3,……];

    (2)直接实例化

    var 数组名称 = new Array(数组元素1,数组元素2,数组元素3……);

    var 数组名称 = new Array(3);这个定义方法一般不推荐使用

    数组名称[0] = 数组元素1;

    数组名称[1] = 数组元素2;

    数组名称[2] = 数组元素3;

    3.下面我们来写个数组例子

    var array = new Array(1,3,5,34,55,66,23);
    array.sort(function(array,b)

    {
    return array-b;
    });
    alert(array.pop());

    alert(array.shift());

     这里我们用sort对数组进行了一个从小到大的排序,再调用pop把最后一个元素取出来,同时也可用shift把第一个元素取出来。

    运行结果如下:

     

    4.数组的操作

    (1)数组的创建

    1.构造函数创建

    var array1 = new Array();
    var array2 = new Array(6);
    var array3 = [2,3,4,5,6,65];
    var array4 = new Array(2,33,55,56,"daitu");
    var array5 = [];
    var array6 = [6];
    alert(array1);
    alert(array2);
    alert(array3);
    alert(array4);
    alert(array5);
    alert(array6);

    这里我们可以看出,array1和array5,我们创建的是空数组,但是array5使用的是字面量法创建,所以array2和array6那里括号里的6代表的意思不一样,Array(6)代表的是6个元素,而var array6 = [6];代表的是他这个元素具体的值就是6。同时,我们从array4可以看出,JavaScript数组里面可以有不同的数据类型,但是Java数组里面只能放同种数据类型,所以JS是一种比较灵活的语言。上述代码执行结果如下:

     

     

     

     

     

     5.数组的下标是从0开始的,那么现在提问,如何通过循环来获取到数组里的每个值,并输出到控制台呢?

     循环遍历的特点:将循环变量作为数组的下标来进行使用,那么这个下标不断的进行变化就能访问到数组的每个元素,所以我们把循环变量的初始值设成0,那么数组的结束元素是length-1,所以要小于它。就有如下代码:

    var array2 = [1,2,3,53,67,5,9]
    for (i=0;i<array2.length;i++)
    {
    console.log(array2[i]);
    }

    执行结果为:

     上面是按顺序输出的,我们也可以按倒叙输出:

    var array2 = [1,2,3,53,67,5,9]
    for (i=array2.length-1;i>=0;i--)
    {
    console.log(array2[i]);
    }

    运行结果为:

     6.现在我们来找最大值,不用系统自带的pop和shift进行排序找,自己编写程序来找。

    这里我们要设置一个变量(max),让他初始值为第一个元素,思考怎么样通过循环体后,把最大值放到变量里面去,然后把他输出来呢?

    我们需要把那个变量(max)和每一个值作比较,一旦发现某个元素比那个变量(max)大,就把那个元素设置成那个变量(max)。

    var array2 = [1,2,3,53,67,5,9];
    var max = array2[0];
    for (i=0;i<array2.length-1;i++)
    {
    if(max < array2[i])
    {
    max = array2[i];
    }
    }
    console.log(max);

    运行结果如下:

     7.现在我们来定义一个var num= 9;

    请使用循环查找我们这个数组中有没有这个元素,有的话,请把这个元素的下标输出出来,没有的话就输出未查找到该元素。

    现在我们把那个 i 变量放到外面去,因为我们在外层用到这个 i 变量,所以循环里面就不用定义了,这里我们在for循环里面做判断,相等,就跳出循环,如果一直不成立,也就是加到length的时候

    var array2 = [1,2,3,53,67,5,9];
    var num = 9;
    var i = 0
    for (;i<array2.length;i++)
    {
    if(num==array2[i])
    {
    alert(i);
    break;
    }
    }
    if(i==array2.length)
    {
    alert("该元素在数组中不存在")
    }

    执行结果如下:下标为6.

  • 相关阅读:
    Upgrading to MySQL 5.7---focusing on temporal types
    mysqldump备份7
    mysqldump原理5
    mysqldump原理4
    mysqldump原理3
    mysqldump原理2
    mysqldump原理1
    MySQL复制中slave延迟监控
    赵浮云的blog 关注IT运维,开源硬件。
    爱维帮---LVS
  • 原文地址:https://www.cnblogs.com/daitu/p/JavaScript4.html
Copyright © 2011-2022 走看看