05数组

1、数组的定义

var arr=new Array(); //定义一个空数组

var arr=new Array(10); //创建一个10个元素的数组

var arr=new Array("Jhone",10); //创建一个数组里面有两个元素

var arr=[1,2,3,4,5]; //字面量定义方式

2、数组的长度(length)

即可用来查询数组的长度,也可以设置数组的长度

var arr=[1,2,3,4,5];
alert(arr.length); //5
arr.length=4;
alert(arr.length); //4
alert(arr[4]); //undefined

3、遍历数组

方法一:

for(var i=0;i<arr.length;i++){}

方法二(for .. in 普遍用于遍历数组或者对象):

for(var i in arr){}

 4、冒泡算法

var arr1=[4,8,12,3,6,9,10];
    for(var i=0;i<arr1.length-1;i++){ 
        for(var j=0;j<arr1.length-1-i;j++){
            if(arr1[j]>arr1[j+1]){
                var temp=arr1[j];
                arr1[j]=arr1[j+1];
                arr1[j+1]=temp;
            }
        }
}

 5、数组常见的方法

1)push()和pop(),原数组被改变

push()数组末尾添加一个或多个元素,并返回数组的长度

var arr=[2,3,4,56,67,98];
var len=arr.push(5,6,7);
alert(arr); //2,3,4,56,67,98,5,6,7
alert(len); //9

pop()数组末尾删除元素,返回移除的元素

var arr=[2,3,4,56,67,98];
var len=arr.pop();
alert(arr); //2,3,4,56,67
alert(len); //98

2)shift()和unshift(),原数组被改变

unshift()数组头部添加一个或者多个元素,并返回数组的长度

var arr=[2,3,4,56,67,98];
var len=arr.unshift(5,6,7);
alert(arr); //5,6,7,2,3,4,56,67,98
alert(len);
//9

shift()数组头部删除元素,返回移除的元素

var arr=[2,3,4,56,67,98];
var len=arr.shift();
alert(arr); //3,4,56,67,98
alert(len); //2

 3)reverse()逆向排序,原数组被改变

var arr=[2,3,4,56,67,98];
arr.reverse();
alert(arr);//98,67,56,4,3,2

4)sort(),从小到大排序,原数组改变

var array1 = [0,1,5,10,15];
array1.sort();//0,1,10,15,5(有问题)

function compare(value1,value2){
    if(value1<value2){
        return -1;
    }else if(value1==value2){
        return 0;
    }else{
        return 1;
    }
}
array1.sort(compare); //0,1,5,10,15

 5)concat() 追加数据,创建一个新的数组,不改变原来的数组

var arr=[2,3,4,5];
var arr1=arr.concat(7,8);
alert(arr1); //2,3,4,5,7,8
alert(arr);//2,3,4,5

6)slice()将数组中指定区域提取出来,不改变原来的数组

slice(index1,index2),从下标index1开始到下标index2结束,index1的元素取到,index2取不到,返回被取到的元素

var arr5=[3,2,4,5,8,6,3,9];
var arr6=arr5.slice(3,6);
alert(arr6); //5,8,6
alert(arr5); //3,2,4,5,8,6,3,9

7)splice()截取原数组指定区域,会改变原数组

 splice(index,number),从下标index开始截取,截取number个元素

//情况一:当number=0,且splice(index,0,a)有第三个参数,则为在原数组中插入元素
var arr7=[1,2,3,4,6,7,8];
arr7.splice(4,0,5);
alert(arr7) //1,2,3,4,5,6,7,8
//情况二:当number不为0,且splice(index,number,a)有第三个参数,则为在原数组中替换该位置的元素
arr7.splice(4,1,"聪","明");
alert(arr7); //1,2,3,4,聪,明,7,8
//情况三:当number不为0,splice(index,number),则为在原数组中删除该位置的number个元素
arr7.splice(4,2);
alert(arr7); //1,2,3,4,8

8) join()将数组元素连接成字符串

//情况一:若直接join()则通过逗号连接字符串
var arr9=["我","是","一","只","笨","鸟"];
arr9.splice(4,1,"聪","明"); 
alert(arr9.join());  //我,是,一,只,聪,明,鸟
//情况二:若join(".")里面有符号,则用该符号连接
alert(arr9.join(""));  //我是一只聪明鸟

 

posted @ 2017-07-04 10:57  yeluoqiu  阅读(145)  评论(0编辑  收藏  举报