【新澳门萄京娱乐场官网】编写制定数组,JS中数组Array的用法示例介绍

作者: 计算机前端  发布:2019-12-28

    删除数组第一个元素使用var length = arr.shift(); 删除arr的第一个元素后, 返回值是删除后的数组长度
           删除数组最后一个元素使用var length = arr.pop(); 删除arr的最后一个元素后, 返回值是删除后数组的长度
           在数组开头添加元素使用var length = arr.unshift("ele","ele2",...); 在数组开头添加元素后,返回值是新数组长度
           在数组结尾添加元素使用var length = arr.push("ele","ele2",...); 在数组结尾添加元素后,返回值是新数组长度
           在数组的i位置连续删除n个元素 arr.splice(i, n);从i位置开始,删除n个元素
           在数组的i位置连续删除n个元素,并插入元素 arr.splice(i,n,"ele","ele2");从i位置开始,删除n个元素,并在删除的位置添加任意个元素

JS中数组Array的用法示例介绍

 这篇文章主要介绍了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); 

 

 

这篇文章主要介绍了JS中数组Array的用法,需要的朋友可以参考下 new Array() new Array(len) new Array([item0,[item1,[item2,...

本文由澳门新萄京app发布于计算机前端,转载请注明出处:【新澳门萄京娱乐场官网】编写制定数组,JS中数组Array的用法示例介绍

关键词:

上一篇:小程序跳转遇到的坑
下一篇:没有了