展会信息港展会大全

JS中数组Array的用法示例介绍
来源:互联网   发布日期:2016-01-28 12:58:31   浏览:1511次  

导读:这篇文章主要介绍了JS中数组Array的用法,需要的朋友可以参考下new Array()new Array(len)new Array([item0,[item1,[item2, ]]]使用数组对象的方法:var objArray=new Array();objArray concact([item1[,i ...

这篇文章主要介绍了JS中数组Array的用法,需要的朋友可以参考下

new Array()

new Array(len)

new Array([item0,[item1,[item2,...]]]

使用数组对象的方法:

var objArray=new Array();

objArray.concact([item1[,item2[,....]]]-------------------将参数列表连接到 objArray的后面形成一个新的数组并返回,原有数组不受影响。如:var arr=["a","b","c"];

arr.concact("d","e");

将返回包括从"a"到"e"字母元素的数组。而arr本身不受影响。

objArray.join(separator)-----------------以separator指定的字符作为分割符,将数组转换 为字符串,当seperator 为逗号时,其作用和toString()相同。

objArray.pop()---------通俗的讲,就是弹出数组的最后一个元素。结合下面的push方法,使得将数组作为栈来使用成为 可能。pop方法返回数组最后一个元素的值,并将length属性减1,即返回后立即丢失最后一个元素。

objArray.push([value1[,value2[,....]]])-------------将参数添加到数组的结尾。如: [1,2,3, 4].push("a","b")将得到[1,2,3,4,"a","b"]

objArray.reverse()将数组中的元素反转排列。如:[1,2,3].reverse()将得到[3,2,1],这个操作是在原 有数组上经行操作,同时也返回数组本身

objArray.shift()-----------移去数组的第一个元素,并返回这个元素的值。这个方法的性质和pop方法很类 似,pop方法是移去最后一个元素。

objArray.slice(start,end)----------- 返回数组对象的一个子集,索引从start开始(包括 start),到end结束(不包括end),原有数组不受影响。如:[1,2,3,4,5,6].slice(1,4)将得到[2,3,4]。当 start或者end为负数时,则使用他们加上length后地值。如:[1,2,3,4,5,6].slice(-4,-1)将得到[3,4,5]。如 果end小于等于start,将返回空数组。

objArray.sort(comparefn)------- 根据comparefn定义的大小比较函数,对一个数组进行排序。函数comparefn必须接受两个参数element1,element2,如果需要 需要element1排在element2之前,应该返回一个负数;如果需要element1排在element2之后,应该返回一个正数,如果两个数平 等对待(即保持原有顺序)则返回0。当省略comparefn时,则元素按照字典顺序排列。如:对定义的比较函数cmp: function cmp(e1,e2){return e1-e2;}则[3,4,2,7].sort(cmp)将得到[2,3,4,7].

objArray.splice(start,deleteCount[,item1,item2[,...]]]) 这是一个复杂的函数,用于完成数组元素的删除取代和插入操作。其中,start参数表示要进行操作的索引位置,deleteCount指从start开 始要删除的元素的元素个数(包括了start位置),如果deleteCount省略,则表示从start开始要删除数组的剩余部 分。[,item1[,item2[,...]]]则表示可选的插入到start之前的元素列表。如:

var arr=[0,1,2,3,4,5,6];

arr.splice(1,1);

document.write(arr);//显示 0,2,3,4,5,6

arr=[0,1,2,3,4,5,6];

arr.splice(0,0,"a","b");

document.write(arr);//显示 a,b,0,1,2,3,4,5,6"

arr=[0,1,2,3,4,5,6];

arr.splice(3,2,"c","d");

document.write(arr);//显示"0,1,2,c,d,5,6"

objArray.unshift(item1[,item2[,...]]])------------------- 将参数列表插入到数组的开头。其性质和push方法类型,但push方法是将元素添加到数组的结尾。如: [1,2,3,4].unshift("a","b")将得到["a","b",1,2,3,4]。

js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^

var arr = new Array();

arr[0] = "aaa";

arr[1] = "bbb";

arr[2] = "ccc";

//alert(arr.length);//3

arr.pop();

//alert(arr.length);//2

//alert(arr[arr.length-1]);//bbb

arr.pop();

//alert(arr[arr.length-1]);//aaa

//alert(arr.length);//1

var arr2 = new Array();

//alert(arr2.length);//0

arr2[0] = "aaa";

arr2[1] = "bbb";

//alert(arr2.length);//2

arr2.pop();

//alert(arr2.length);//1

arr2 = arr2.slice(0,arr2.length-1);

//alert(arr2.length);//0

arr2[0] = "aaa";

arr2[1] = "bbb";

arr2[2] = "ccc";

arr2 = arr2.slice(0,1);

alert(arr2.length);//1

alert(arr2[0]);//aaa

alert(arr2[1]);//undefined

shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined

var a = [1,2,3,4,5];

var b = a.shift(); //a:[2,3,4,5] b:1

unshift:将参数添加到原数组开头,并返回数组的长度

var a = [1,2,3,4,5];

var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7

注:在IE6.0下测试返回值总为undefined,FF2.0下测试返回值为7,所以这个方法的返回值不可靠,需要用返回值时可用 splice代替本方法来使用。

pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined

var a = [1,2,3,4,5];

var b = a.pop(); //a:[1,2,3,4] b:5//不用返回的话直接调用就可以了

push:将参数添加到原数组末尾,并返回数组的长度

var a = [1,2,3,4,5];

var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7

concat:返回一个新数组,是将参数添加到原数组中构成的

var a = [1,2,3,4,5];

var b = a.concat(6,7); //a:[1,2,3,4,5] b:[1,2,3,4,5,6,7]

splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从 该位置起插入val1,val2,...

在清空数组时,只需传递startIndex。

如果不删除所有元素,再传递deleteCount参数。

splice还具有先删除后添加的功能,即先删除几个元素,然后在删除的位置再添加若干元素,删除与添加的元素的个数没有必须相等,这时侯 deleteCount也是要用到的。

var a = [1,2,3,4,5];

var b = a.splice(2,2,7,8,9); //a:[1,2,7,8,9,5] b:[3,4]

var b = a.splice(0,1); //同shift

a.splice(0,0,-2,-1); var b = a.length;//同unshift

var b = a.splice(a.length-1,1);//同pop

a.splice(a.length,0,6,7); var b = a.length; //同push

reverse:将数组反序

var a = [1,2,3,4,5];

var b = a.reverse(); //a:[5,4,3,2,1] b:[5,4,3,2,1]

sort(orderfunction):按指定的参数对数组进行排序

var a = [1,2,3,4,5];

var b = a.sort(); //a:[1,2,3,4,5] b:[1,2,3,4,5]

slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组

var a = [1,2,3,4,5];

var b = a.slice(2,5); //a:[1,2,3,4,5] b:[3,4,5]

join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符

var a = [1,2,3,4,5];

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

再给个利用数组模拟javaStringBuffer处理字符串的方法:

代码如下:

/**

* 字符串处理函数

*/

function StringBuffer() {

var arr = new Array;

this.append = function(str) {

arr[arr.length] = str;

};

this.toString = function() {

return arr.join("");//把append进来的数组ping成一个字符串

};

}

今天在应用中突然发现join是一种把数组转换成字符串的好方法,故封装成对象使用了:

代码如下:

/**

*把数组转换成特定符号分割的字符串

*/

function arrayToString(arr,separator) {

if(!separator) separator = "";//separator为null则默认为空

return arr.join(separator);

}

/**

* 查找数组包含的字符串

*/

function arrayFindString(arr,string) {

var str = arr.join("");

return str.indexOf(string);

}

赞助本站

人工智能实验室

相关热词: 数组 Array JS

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港