JavaScript的Array类型基本方法(整理自JavaScript高级程序设计第三版)

来源:互联网 发布:什么是淘宝佣金 编辑:程序博客网 时间:2024/06/04 00:47

JavaScript中的Array类型很灵活,和C语言不同,同一个Array每个位置可以存储不同的变量类型,而且数组长度可变。

声明数组的方法:

var colors = new Array() ;

var colors = new Array(20) ;//长度为20的数组

var colors = new Array("red","blue","green") ;

var colors = ["red","blue","green"] ;

var colors = Array(3) ;

var colors = Array("bue") ;

 

colors.length 可以获取colors数组的长度。这个长度不是只读的,而是可变的!

var colors = ["red","blue","green"] ;

colors.length = 2 ;

alert(colors[2]) ;   //Undefined

将长度增大或者缩短之后超出原来数组长度或者小于新数组长度的部分的值为undefined

 

检测当前对象事都是数组的方法:

if(value instanceif Array){

}

if(Array.isArray(value)){

}

value为要检测的对象

 

JavaScript的数组可以当做栈来处理,也可以当做队列或者双向队列处理,甚至能把栈,队列,双向队列的特点和方法集合起来。

我们可以用下面的一些方法来对数组进行任意的插入删除操作。

栈方法:

var colors = new Array() ;

var count = colors.push("red","blue") ;//插入后返回数组的长度

alert(count) ; //2

var item = colors.pop() ;//返回弹出的值

alert(item) ;  //"blue"

队列方法:

var colors = new Array() ;

var count = colors.push("red","green") ;

alert(count) ;//2

var item = colors.shift() ;   //队列出队操作

alert(item) ;//"red"

colors.unshift("red") ; //从前边插入

colors.contact(["black","yellow"]) ;//contact用来拼接数组,把参数数组拼接到colors的后面

var colors2 = colors.slice(1) ;      //返回从数组下标1到最后缩构成的一个数组

var colors3 = colors.slice(1,4) ;  //返回从数组下标1--3构成的一个数组

splice()方法:

当splice方法指定两个参数时,color.splice(1,3)表明删除从下标1开始连续三项

当splice指定三个或者多个参数时,color.splice(1,2,"red","green") 表明先删除下标1开始的连续两项,在从下标1开始插入“red”和“green”

indexOf()方法:

colors.indexOf(value)  从数组开头开始查找value,返回value的下标,如果没找到返回-1 。在查找时要求严格查找,相当于===

sort()方法:

sort在排序时都用toString把数据转换成字符串形式:

var values = [0,1,5,10,15] ;

values.sort() ;

alert(values) ;// 0 ,1 ,10, 15 ,5 ;

要实现对数的排序,需要写一个比较函数:

function conpare(value1,value2){

    if(value1 < value2){

        return -1 ;

    }else if(value1 > value2){

        return 1 ;

    }else  return 0 ;

}

values.sort(compare) ;

 

 

0 0