javascript基础之数组(Array)对象

时间:2008-06-25 13:32:00 

一、数组的创建

方式一

var a = new Array();
a[0]="wo";
a[1]="My Name"
a[2]=5
a[3]={x:1 , y:3}

方式二

var a=new Array("wo","My Name",5,{x:1 , y:3});
var a2=new Array(13);//注意,这个13是表示a有13个未定义元素!(因为这时候只传给Array一个参数)

方式三

var a=["wo","My Name",5,{x:1 , y:3}];
var a2=[[1,2,3],[1,2,3]];//可以嵌套

var i=11;
var a3=[i,i+1,i+2];//可以为变量
var a4=[1,,,,5];//有3个未定义的元素

二、数组的函数

1. join() 把所有的元素转换为字串,参数作为分隔符(默认分隔符是 ,) 

var a=[1,2,3];
           a.join();//1,2,3
           a.join(" : ");//1 : 2 : 3

2.reverse() 对数组反向排序 sort() 默认按照UTF-8码的顺序排序,可以传一个参数,如果返回一个小于等于0的数,第1个参数出现在第2个参数前面,反之同理

       function randOrd(){
             return (Math.round(Math.random())-0.5);
          }

           anyArray = new Array('3','a','5','F','x','47');
           anyArray.sort( randOrd );       //把数组乱序排列

3.concat() 返回一个数组,包含了原数组和参数

anyArray = new Array(47,33);

            anyArray.concat(8,99,88 );
            //[47,33,8,99,88]

            anyArray.concat([8,99],[88,53] );       
            //[47,33,8,99,88,53],会自动把参数中数组拆包一层

        anyArray.concat(2,[3,[4,5]]);   
            //[47,33,2,3,[4,5]],拆包只拆一层

4.slice() 返回一个数组的切片,返回规则如下

  var a = [1,2,3,4,5]
            a.slice(0,3); //返回a[0]至a[2],即[1,2,3]
            a.slice(3);        //返回a[3]至结尾,即[4,5]
            a.slice(1,-1);//返回a[1]至最后一个元素[2,3,4]
            a.slice(-3,-2);//返回[3]

5.splice() 可以删除/添加原数组元素,同时返回删除的值 

  var a = [1,2,3,4,5,6,7];
            a.splice(4);
            //删除a[4]至结尾,同时返回删除的值,即a=[1,2,3,4],返回[5,6,7]

             var a = [1,2,3,4,5,6,7];
             a.splice(3,3,"a","b");
             //从a[3]开始,删除3个元素(包括a[3]),同时在从a[3]开始插入"a","b"作为新的元素,返回删除的值
        //即a=[1,2,3,"a","b",7],返回[4,5,6]

            var a = [1,2,3,4,5,6,7];
            a.splice(3,0,["a",2],"k");
            //返回[],a=[1,2,3,["a",2],"k",4,5,6,7] ,splice()不会对添加的数组拆包

6.push()和pop()          

  var stack=[];
           stack.push(1,2);//stack=[1,2],return 2(2表示数组长度)
           stack.pop();//stack=[1],return 2
           stack.push(3);//stack=[1,3],return 2(2表示数组长度)
           stack.pop();//stack=[1],return 3
           stack.push([4,5]);//stack=[1,[4,5]],return 2
           stack.pop();//stack=[1],return [4,5]
           stack.pop();//stack=[],return 1

7.unshift()和shift() 和push()和pop()类似,不过是在数组的头进行操作 

var a=[2];
          a.unshift(1);
          //a=[1,2]
          //IE(包括IE7)和标准的规定返回值却不同,Gecko/Opera 中返回值为新数组的长度,而 IE 中没有返回值,也就是返回值是 undefined。因此,编程时不要依赖这个返回值。 
       a.unshift(3,[4,5]);//a=[3,[4,5],1,2]
          a.shift();
          //返回3

8.toString() toString等价于不加参数的join

标签:数组,array,对象,javascript
0
投稿

猜你喜欢

  • 详解Python常用的魔法方法

    2022-01-22 05:44:03
  • sql获取存储过程返回数据过程解析

    2024-01-20 07:52:47
  • 如何做网页设计的10个小窍门

    2010-04-11 22:30:00
  • Django 配置多站点多域名的实现步骤

    2022-05-23 23:53:46
  • Python使用xlrd和xlwt实现自动化操作Excel

    2021-08-24 10:54:19
  • 低版本中Python除法运算小技巧

    2021-11-14 00:54:00
  • python 寻找离散序列极值点的方法

    2021-03-13 15:26:15
  • Mysql 文件配置解析

    2024-01-26 10:01:54
  • 数据库更新Sqlserver脚本总结

    2024-01-13 15:05:25
  • MySQL Workbench的使用方法(图文)

    2024-01-26 18:47:12
  • Git远程操作详解

    2022-02-11 06:15:51
  • Appium中scroll和drag_and_drop根据元素位置滑动

    2023-03-16 23:34:38
  • .NET中开源文档操作组件DocX的介绍与使用

    2024-06-05 09:28:18
  • Python使用reportlab将目录下所有的文本文件打印成pdf的方法

    2022-01-23 11:36:11
  • MySQL的之表结构修改

    2012-01-05 19:16:17
  • JavaScript/TypeScript中==和===的区别详解

    2024-04-25 13:14:39
  • asp如何获知Connection对象更多的信息?

    2009-11-23 20:53:00
  • Python+Turtle绘制可爱的可达鸭

    2021-06-18 10:20:29
  • 简单介绍Python中的filter和lambda函数的使用

    2023-05-30 18:18:36
  • 关于多种方式完美解决Python pip命令下载第三方库的问题

    2023-02-25 13:40:11
  • asp之家 网络编程 m.aspxhome.com