zoukankan      html  css  js  c++  java
  • JavaScript的数组及其操作

    一、创建数组

    1.单纯创建数组: 
    var arr=new Array(); 
    要点:用new关键字创建数组对象Array(),Array()对象是一个本地类,可以用new创建一个对象后使用 
    2.创建数组的同时规定数组大小: 
    var arr=new Array(10); //这里就创建了一个初始化大小为10的数组 
    注意:当使用数组大小操作初始化大小时,数组会自动被撑大,不会像C语言那样发生错误.动态增长是js数组的一个性质.另外,js中支持最大数组长度为4294967295
    3.直接初始化: 
    var arr=new Array("love","hate","pain");  //这里就直接初始化了数组 
    或var arr=["happy","cute","scare"];  //括号也可以声明一个数组对象

    可以定义2维3维和多维的数组,例如:

    <script language="javascript"> 
        var myArray = new Array(); 
    
        for(var i=0;i<10;i++ )...{ 
            myArray[i]=new Array(); 
            myArray[i][0]=Math.floor(Math.random()*10); 
            myArray[i][1]=Math.floor(Math.random()*10); 
            myArray[i][2]=Math.floor(Math.random()*10); 
            myArray[i][3]=Math.floor(Math.random()*10); 
            myArray[i][4]=Math.floor(Math.random()*10); 
            myArray[i][5]=Math.floor(Math.random()*10); 
            myArray[i][6]=Math.floor(Math.random()*10); 
            myArray[i][7]=Math.floor(Math.random()*10); 
            myArray[i][8]=Math.floor(Math.random()*10); 
        } 
    
        myArray.sort( function(x, y) ...{ 
            return (x[0]==y[0])?((x[4]==y[4])?(x[8]-y[8]):(x[4]-y[4])):(x[2]-y[2]) 
        }); 
    
        for(var i=0;i<myArray.length;i++ )...{ 
            document.write(myArray[i].join(",") + "<br/>"); 
        } 
    </script> 

    二、数组的操作方法:(13个)

    toString(),valueOf(),toLocalString(),join(),split(),slice(),concat(), pop(),push(),shift(),unshift(),sort(),splice()

     1、toString(),valueOf(),toLocalString()

    功能:返回数组的全部元素 
    注:数组名也可以返回整个数组

    var m=["am","bm","cm"];//用括号声明一个数组对象 
    
    alert(m.toString());      //toString()返回数组对象的所有内容,用逗号分割,即am,bm,cm 
    alert(m.valueOf());       //valueOf()也返回数组对象的所有内容 
    alert(m.toLocaleString());//toLocaleString()也返回数组对象的所有内容,但有地区语言区别,暂不研究 
    alert(m);                 //数组名也返回数组对象的所有内容 

    2、join()

    功能:把数组各个项用某个字符(串)连接起来,但并不修改原来的数组

    var m=["am","bm","cm"];//用括号声明一个数组对象 
    var n=m.join("---");   //用---连接am,bm,cm. 
    alert(m.toString());   //m并没有被修改,返回am,bm,cm 
    alert(n);              //n是一个字符串,为am---bm---cm 

    3、split()

    功能:把一个字符串按某个字符(串)分割成一个数组,但不修改原字符串

    var str="I love maomao,I am caolvchong"; 
    var arr=str.split("o");//按字符o把str字符串分割成一个数组 
    alert(arr);//输出整个数组

    4、slice()——返回某个位置开始(到某个位置结束)的数组部分,不修改原数组

     var m=["am","bm","cm","dm","em","fm"]; 
     var n=m.slice(2);  //返回第二个元素bm后面的元素,即cm,dm,em,fm 
     var q=m.slice(2,5);//返回第二个元素后到第五个元素,即cm,dm,em 
     alert(n); 
     alert(q); 

    5、数组对象的栈操作

    push()——数组末尾添加一个项 
    pop( )——删除数组最后一个项

     var m=["am","bm","cm","dm","em","fm"]; 
     m.push("gm");//在数组末尾添加元素gm 
     alert(m); 
     m.pop();//删除数组最后一个元素gm 
     alert(m); 

    6、数组对象的队列操作

    unshift()——数组头添加一个项 
    shift()——删除数组第一个项

    var m=["am","bm","cm","dm","em","fm"]; 
    m.unshift("gm");//在数组第一个元素位置添加元素gm 
    alert(m); 
    m.shift();//删除数组第一个元素gm 
    alert(m); 

    7、sort()——数组按字符的ASCII码进行排序,修改数组对象

     var m=["am","fm","gm","bm","em","dm"]; 
     m.sort();//按字母序排序 
     alert(m); 

    8、concat()——在数组尾添加元素,但不修改数组对象

    var m=["am","bm"] 
    var n=m.concat("cm");//添加一项cm,并且赋予新数组对象 
    alert(m);//原数组没有被修改 
    alert(n);//输出新数组对象

    9、splice()——在数组的任意位置进行添加,删除或者替换元素,直接修改数组对象

    splice()有三个参数或三个以上参数,前两个是必须的,后面参数是可选的 

    • 进行添加:splice(起始项,0,添加项) 
    • 进行删除:splice(起始项,要删除的项个数)
    • 进行替换:splice(起始项,替换个数,替换项) 这个其实是添加删除的共同结果
     var m=["am","bm"] 
     m.splice(1,0,"fm","sm");//在第一项后面添加fm和sm,返回am,fm,sm,bm 
     alert(m); 
     m.splice(2,1);          //删除第二项后面一项(即第三项sm,返回am,fm,bm) 
     alert(m); 
     m.splice(2,1,"mm");     //替换第二项后面一项(即第三项,返回am,fm,mm) 
     alert(m);
  • 相关阅读:
    day46 mysql进阶
    解决:ping github.com遇到“请求超时”
    修改hosts文件
    Python正课135 —— 基础扩展1
    Python正课136 —— 基础扩展2
    05 树莓派安装Python3.6
    一次可以面向百度的笔试
    作业23
    获取类名和方法名
    面向对象三大特性之继承
  • 原文地址:https://www.cnblogs.com/JoannaQ/p/2981797.html
Copyright © 2011-2022 走看看