网络编程
位置:首页>> 网络编程>> JavaScript>> javascript基础之数组(Array)对象

javascript基础之数组(Array)对象

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

标签:数组,array,对象,javascript

一、数组的创建

方式一

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

0
投稿

猜你喜欢

  • 用语言实现 好处: 1、可以减少对数据库的访问。 2、可移植性好。 坏处: 1、操作起来考虑的东西较多,修改一处就要修改别一处。也就是说是相
  • 先写一个批处理文件,给个例子。  代码如下:set rq=%date:~0,10% exp system/system的
  • 类  型描  述EmptyVariable 没有被初始化,它是数字的话,它的值就为0,如果它是字符串,那么它的值就为1N
  • 这周心血来潮,翻看了现在比较流行的几个JS脚本框架的底层代码,虽然是走马观花,但也受益良多,感叹先人们的伟大……感叹是为了缓解严肃的气氛并引
  • 作者:F. Permadi译者:Sheneyan(子乌)英文原文: INTRODUCTION TO JavaScript Functions
  • Oracle Tips, Tricks & Scripts1. Topic: Compiling Invalid Objects:O
  • 我在初学时查阅过大量相关资料,发现其中提供的很多方法实际操作起来并不是那么回事。对于简单的应用,这些资料也许是有帮助的,但仅限于此,因为它们
  • 注:文中未表明的地方output 输出都是基于IE6.0,其中表明FF的地方为Mozilla Firefox2.0,还要注意文中的大小写ja
  • 前端时间写了一篇《利用CSS框架进行高效率的站点开发》,有不少朋友问我相关的问题。很早5key就在公司进行CSS框架的架构,也对不少朋友提出
  • 内容摘要:现在博客很流行,相信应该上网时间稍微长点的朋友都会在这或者在那的有一个自己的博客。对于一些有一定能力的朋友,可能更喜欢自己去下载一
  • Linux Journal 发表了一篇优化 Oracle 数据库的文章,感觉十分的有用。简要介绍其摘要和大家共同分享 Linux 在企业级数
  • 曾经为看别人写的杂乱代码而头痛吗?曾经为看BWindow代码而烦恼吗?曾经为减小JS体积和JS的可读性之间的矛盾而左右徘徊吗?最好的办法是有
  • 不知道从什么时候开始,在网络上到处可以看到div+css,到底什么是div+css呢?难道就是传说中的标准重构吗?标准从最简单的根源来说不是
  • 经过一轮的项目封闭开发,页面制作的动手能力提高了不少,用AW的话说就是被复杂的东西虐过以后很多问题都变得容易了,的确很有道理。我个人觉得技术
  • 您是否常常在做网页的过程中发现一个问题呢?当图片上传的时候,如果图片太大 ,就会把网页撑破,唯一做的就要先把它用软件缩小,再上传上
  • Window.ShowModalDialog使用手册 基本介绍: showModalDialog() (IE 4+ 支持) sho
  • phpMyAdmin可以管理整个MySQL服务器(需要超级用户),也可以管理单个数据库。为了实现后一种,你将需要合理设置MySQL用户,他只
  • 关于《回访确认》这件事情,在我blog和5Gme的回复里普遍出现这么几个疑问:1、下了订单却放弃支付的心理因素是什么?2、回访电话可以促进订
  • 今天我们来写一个有管理功能的留言板程序。所谓的管理功能,其实就是每条留言前有一个选择框,点中要删除的留言,或者点“删除所有留言”,就完成了批
  • 描述的意思是HTML为中心的前端开发也差不多是web标准的意思。1.HTML是基础2.CSS依靠选择符提供视觉;3.Javascript 依
手机版 网络编程 asp之家 www.aspxhome.com