• 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(""));  //我是一只聪明鸟
  • 相关阅读:
    蔚来汽车笔试题---软件测试
    python 装饰器
    adb
    新手安装禅道至本地
    各种验证码应该如何给值
    int col = Integer.parseInt(args[0]);的用法
    找不到jsp文件:ctrl+shift+R
    通过服务器获取验证码
    Sublime Text 2: [Decode error
    爬虫爬取新闻(二)
  • 原文地址:https://www.cnblogs.com/yeluoqiu/p/7100041.html
Copyright © 2020-2023  润新知