JavaScript中的数组

JavaScript中的数组

Array是JavaScript中常用的类型,并且JavaScript中的数组和其他语言的数组有比较大的区别。JavaScript中数组中存放的数据类型不一定相同,而且数组的长度也是可改变的。

下面记录一下Array的常用操作:

一 新建数组

新建数组可以用一下方法:

var obj = ['zdy',22,'湖北武汉','计算机科学与技术'];//创建一个数组变量
var obj1 = new Array('zdy',22,'湖北武汉','计算机科学与技术');
var obj2 = new Array(4);
obj2[0] = 'zdy';
obj2[1] = 22;
obj2[2] = '湖北武汉';
obj2[3] = '计算机科学与技术';

上面方式创建数组其实是等价的,输出:

alert(obj);         //返回zdy,22,湖北武汉,计算机科学与技术
alert(obj1);        //返回zdy,22,湖北武汉,计算机科学与技术
alert(obj2);        //返回zdy,22,湖北武汉,计算机科学与技术

前面提到的JavaScript中数组里面存放的数据类型不一定要一致,所以,我们还可以创建如下的数组:

var obj3 = [
    'zdy',
    [1,'2',true],
    {
        name:'zdy',
        age:22,
        address:'湖北武汉'
    }
];

下面看看输出的情况:

alert(obj3);//返回 zdy,1,2,true,[object Object]
alert(obj3[1][2]);//返回 true
alert(obj3[2].address);//返回 湖北武汉

二 数组中常用的方法

1.toString()/toLocaleString()/valueOf()方法

对象或者数组都有这三个方法,这三个返回返回值一样,就是将数组拼接成字符串返回,默认情况下以逗号分隔。例如:

var obj = ['zdy',22,'湖北武汉','计算机科学与技术'];//创建一个数组变量
alert(obj.toString());      //toString()方法,返回zdy,22,湖北武汉,计算机科学与技术
alert(obj.toLocaleString());   //toLocaleString()方法,返回zdy,22,湖北武汉,计算机科学与技术
alert(obj.valueOf());       //valueOf()方法,返回zdy,22,湖北武汉,计算机科学与技术

2.join()方法

上面三个方法返回的字符串是以逗号分隔,如果我们需要换成其他的分隔符的话,就需要用到join方法,该方法将会把字符号按照指定的字符拼接后返回。

var obj = ['zdy',22,'湖北武汉','计算机科学与技术'];
alert(obj.join("|"));            //返回 zdy|22|湖北武汉|计算机科学与技术

3.栈方法-push()/pop()

JavaScript提供了push()/pop()方法,使得我们可以想操作栈(先进后出)一样操作数组,数组的插入和删除均在栈顶(数组的末尾)进行。

pusp()方法可以接受任意数量的参数,作用是将这些参数添加到数组的末尾,并返回添加后数组的长度。

pop()则是将数组的最后一个元素删除,并返回删除的元素。

var obj = ['zdy',22,'湖北武汉','计算机科学与技术'];//创建一个数组变量
alert(obj.push("计算机",160)); //向数组的末尾追加元素,返回6
alert(obj);        //返回 zdy,22,湖北武汉,计算机科学与技术,计算机,160
alert(obj.pop());    //删除数组的最后一个元素,并返回删除的元素 160
alert(obj);  //返回 zdy,22,湖北武汉,计算机科学与技术,计算机

4.队列方法-push()/shift()/unshift()

JavaScript也提供了shift()/unshift()方法,使得我们可以想操作队列(先进先出)一样操作数组,数组的插入和删除均在分别在对尾(数组的末尾)和对头(数组首部)进行。

pusp()方法可以接受任意数量的参数,作用是将这些参数添加到数组的末尾,并返回添加后数组的长度。

shift()方法可以从数组的前端删除一个元素,并返回删除的元素。

unshift()方法可以从数组的前端插入一个元素,并返回新数组的长度。

var obj = ['zdy',22,'湖北武汉','计算机科学与技术'];//创建一个数组变量
alert(obj.push("添加的元素"));//向数组的末尾追加一个元素,返回5
alert(obj); //返回 zdy,22,湖北武汉,计算机科学与技术,添加的元素
alert(obj.shift());//删除数组中的第一个元素,返回删除的元素 zdy
alert(obj); //返回 22,湖北武汉,计算机科学与技术,添加的元素
alert(obj.unshift("新增首部元素"));//在数组的首部加入新元素,并返回数组的长度 5
//********注意:在IE中unshift返回的是undefined**********
alert(obj); //返回 新增首部元素,22,湖北武汉,计算机科学与技术,添加的元素

三 数组的基本操作

1.concat()方法

concat()方法可以基于已有数组创建新数组,用于连接数组。

var a1 = [1,2,3];
var a2 = a1.concat(4,5);//创建新数组,并将a1添加两个元素后赋值给a2
alert(a1);//返回 1,2,3
alert(a2);//返回 1,2,3,4,5

2.slice()方法

slice()方法用于提取数组中的部分元素。

var a1 = [1,2,3,4,5,6];
var a2 = a1.slice(2,4);//返回第2到第4个之间的元素,不包括第4个
alert(a1);//返回 1,2,3,4,5,6
alert(a2);//返回 3,4

3.splice()方法

splice()方法重用来向数组中插入、修改、删除元素。

//splice中的插入
var obj = ['zdy',22,'湖北武汉','计算机科学与技术'];//创建一个数组变量
obj.splice(1,0,"新插入的元素1",123); //从第一个开始插入2个元素
alert(obj);//返回 zdy,新插入的元素1",123,22,湖北武汉,计算机科学与技术
//splice中的修改
var obj = ['zdy',22,'湖北武汉','计算机科学与技术'];//创建一个数组变量
alert(obj); //返回 zdy,22,湖北武汉,计算机科学与技术
alert(obj.splice(1,1,19));//修改第一个元素为19,返回被修改之前的元素 22
alert(obj); //返回 zdy,19,湖北武汉,计算机科学与技术
alert(obj.splice(1,2,20,"湖北恩施"));
//修改从第一个元素开始的两个元素为20和“湖北恩施”
//返回 19,湖北武汉
alert(obj);//返回 zdy,20,湖北恩施,计算机科学与技术
//splice中的删除
var obj = ['zdy',22,'湖北武汉','计算机科学与技术'];//创建一个数组变量
alert(obj); //返回 zdy,22,湖北武汉,计算机科学与技术
alert(obj.splice(1,2));//删除从第一个元素开始的2个元素,返回被删除的元素 22,湖北武汉
alert(obj); //返回 zdy,计算机科学与技术

By:念在三角湖畔

posted @ 2012-05-19 18:05  念在三角湖畔  阅读(1780)  评论(2编辑  收藏  举报
念在三角湖畔|97532151@qq.com