1.定义:
数组:数组是值的有序集合。每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引。
注意:① javascript中的数组是无类型的,数组元素可以是任意类型(甚至可能是对象或其他数组),并且同一个 数组中的不同元素也可能有不同的类型。
②javascript数组是动态的。创建时无须声明固定大小或者大小变化时无须重新分配空间。
③javascript数组的索引是基于0的32位数值。
④数组继承自Array.prototype中的属性。
⑤数组是对象的特殊形式。
⑥javascript数组没有“越界”错误的概念。
2.创建数组
①使用数组直接量创建:
var array1=[]; //没用元素的数组
var array2=[1,2,3,4]; //有四个元素的数组
②对象创建
var array3=new Array(); //调用时没有参数
var array4=new Array(3); //调用时指定长度
var array5=new Array("刘备","关羽","张飞");//构造函数的参数将成为新数组的元素
3.稀疏数组
稀疏数组就是包含从0开始的不连续索引的数组。如果数组是稀疏数组,则length属性值大于元素的个数。
4.一些数组的小练习
①把一到一百之间的奇数放到数组里
var array4 = [];
var j=0;
for(var i=0;i<101;i++){
if(i%2===0)
continue;
array4[j]=i;
j++;
}
②求一个数组中的最大值及其位置
基本思想,判断数组中的每一项,如果比max大,则赋值给max,否则,不管。
var array5 = [2,3,1,4,5,8,7,6];
max = 0;
var temp=0;
for(var i=0;i<array5.length;i++){
if(array5[i]>max){
max=array5[i];
temp=i;
}
}
③将一个字符串数组用|分割或者其他符号分割
var array6 = ["张飞","关羽","刘备","吕超","吕布"];
var str = array6[0];
for(var i=1;i<array6.length;i++){
str += "|"+array6[i];
}
④将数组中的指定字符串删除
var array7=["张飞","0","关羽","0","刘备","0","吕超","吕布"];
var newArr=[];
for(var i=0;i<array7.length;i++){
if(array7[i]!==0){
newArr[newArr.length]=array7[i];
}
}
⑤冒泡排序最终版(开闭原则)
var array8=[3,6,5,2,4,1];
var m=0;
//外层循环控制轮数
for(var i=0;i<array8.length;i++){
var bool=true;
for(var j=0;j<array8.length-1-i;j++){
if(array8[j+1]<array8[j]){
var temp=array8[j+1];
array8[j+1]=array8[j];
array8[j]=temp;
bool=false;
}
m++;
}
if(bool){
break;
}
}