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.

原文地址:https://www.cnblogs.com/daitu/p/JavaScript4.html