zl程序教程

您现在的位置是:首页 >  前端

当前栏目

JavaScript中Array对象相关的几个方法

JavaScript方法对象 相关 几个 Array
2023-06-13 09:13:51 时间
push方法
将新元素添加到一个数组中,并返回数组的新长度值。
arrayObj.push([item1[item2[...[itemN]]]])

参数
arrayObj必选项。一个Array对象。
item,item2,...itemN可选项。该Array的新元素。

说明
push方法将以新元素出现的顺序添加这些元素。如果参数之一为数组,那么该数组将作为单个元素添加到数组中。如果要合并两个或多个数组中的元素,请使用concat方法。

示例 <scripttype="text/javascript">
vararrayObj=newArray(0,1,2,3,4);
arrayObj.push(5,6,7,8,"枫岩","CnLei");
alert(arrayObj[arrayObj.length-1]);
</script>

要求
版本5.5

pop方法
移除数组中的最后一个元素并返回该元素。 arrayObj.pop()
必选的arrayObj引用是一个Array对象。

说明
如果该数组为空,那么将返回undefined。

示例 <scripttype="text/javascript">
vararrayObj=newArray(0,1,2,3,4);
alert(arrayObj.pop());
</script>

要求
版本5.5

shift方法
移除数组中的第一个元素并返回该元素。 arrayObj.shift()
参数
必选的arrayObj引用是一个Array对象。

说明
shift方法可移除数组中的第一个元素并返回该元素。

要求
版本5.5

unshift方法
将指定的元素插入数组开始位置并返回该数组。 arrayObj.unshift([item1[,item2[,...[,itemN]]]])
参数
arrayObj必选项。一个Array对象。
item1,item2,...,itemN可选项。将插入到该Array开始部分的元素。

说明
unshift方法将这些元素插入到一个数组的开始部分,所以这些元素将以参数序列中的次序出现在数组中。

要求
版本5.5

concat方法(Array)
返回一个新数组,这个新数组是由两个或更多数组组合而成的。 array1.concat([item1[,item2[,...[,itemN]]]])
参数
array1必选项。其他所有数组要进行连接的Array对象。
item1,...,itemN可选项。要连接到array1末尾的其他项目。

说明
concat方法返回一个Array对象,其中包含了array1和提供的任意其他项目的连接。

要加的项目(item1…itemN)会按照从左到右的顺序添加到数组。如果某一项为数组,那么添加其内容到array1的末尾。如果该项目不是数组,就将其作为单个的数组元素添加到数组的末尾。

以下为从源数组复制元素到结果数组:

对于从正被连接到新数组的数组中复制的对象参数,复制后仍然指向相同的对象。不论新数组和源数组中哪一个有改变,都将引起另一个的改变。
对于连接到新数组的数值或字符串,只复制其值。一个数组中值有改变并不影响另一个数组中的值。
示例
下面这个例子说明了使用数组时concat方法的用法:
functionConcatArrayDemo(){
 vara,b,c,d;
 a=newArray(1,2,3);
 b="JScript";
 c=newArray(42,"VBScript);
 d=a.concat(b,c);
 //返回数组[1,2,3,"JScript",42,"VBScript"]
 return(d);
}
要求
版本3

join方法
返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。 arrayObj.join(separator)
参数
arrayObj必选项。Array对象。
separator必选项。是一个String对象,作为最终的String对象中对数组元素之间的分隔符。如果省略了这个参数,那么数组元素之间就用一个逗号来分隔。

说明
如果数组中有元素没有定义或者为null,将其作为空字符串处理。

示例
下面这个例子说明了join方法的用法。
functionJoinDemo(){
 vara,b;
 a=newArray(0,1,2,3,4);
 b=a.join("-");
 return(b);
}
要求
版本2

sort方法
返回一个元素已经进行了排序的Array对象。 arrayobj.sort(sortfunction)
参数
arrayObj必选项。任意Array对象。
sortFunction可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,那么元素将按照ASCII字符顺序进行升序排列。

说明
sort方法将Array对象进行适当的排序;在执行过程中并不会创建新的Array对象。

如果为sortfunction参数提供了一个函数,那么该函数必须返回下列值之一:
(1)负值,如果所传递的第一个参数比第二个参数小。
(2)零,如果两个参数相等。
(3)正值,如果第一个参数比第二个参数大。

示例 <scripttype="text/javascript">
functionAscSort(x,y){
  returnx==y?0:(x>y?1:-1);
}

functionDescSort(x,y){
  returnx==y?0:(x>y?-1:1);
}

functionRandomSort(x,y){
  returnMath.floor(Math.random()*2-1);
}

vararray=[2,4,3,5,1,6,9,0,8];

document.write("<p>正序:"+array.sort(AscSort)+"</p>");
document.write("<p>倒序:"+array.sort(DescSort)+"</p>");
document.write("<p>随机排序:"+array.sort(RandomSort)+"</p>");
document.write("<p>随机排序:"+array.sort(RandomSort)+"</p>");
document.write("<p>随机排序:"+array.sort(RandomSort)+"</p>");
</script>
要求
版本2

slice方法(Array)
返回一个数组的一段。 arrayObj.slice(start,[end])
参数
arrayObj必选项。一个Array对象。
start必选项。arrayObj中所指定的部分的开始元素是从零开始计算的下标。
end可选项。arrayObj中所指定的部分的结束元素是从零开始计算的下标。

说明
slice方法返回一个Array对象,其中包含了arrayObj的指定部分。

slice方法一直复制到end所指定的元素,但是不包括该元素。如果start为负,将它作为length+start处理,此处length为数组的长度。如果end为负,就将它作为length+end处理,此处length为数组的长度。如果省略end,那么slice方法将一直复制到arrayObj的结尾。如果end出现在start之前,不复制任何元素到新数组中。

示例
在下面这个例子中,除了最后一个元素之外,myArray中所有的元素都被复制到newArray中: newArray=myArray.slice(0,-1)
splice方法
从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。 arrayObj.splice(start,deleteCount,[item1[,item2[,...[,itemN]]]])
参数
arrayObj必选项。一个Array对象。
start必选项。指定从数组中移除元素的开始位置,这个位置是从0开始计算的。
deleteCount必选项。要移除的元素的个数。
item1,item2,...,itemN必选项。要在所移除元素的位置上插入的新元素。

说明
splice方法可以移除从start位置开始的指定个数的元素并插入新元素,从而修改arrayObj。返回值是一个由所移除的元素组成的新Array对象。

要求
版本5.5

reverse方法
返回一个元素顺序被反转的Array对象。 arrayObj.reverse()
参数
arrayObj必选项,该参数为Array对象。

说明
reverse方法将一个Array对象中的元素位置进行反转。在执行过程中,这个方法并不会创建一个新的Array对象。
如果数组是不连续的,reverse方法将在数组中创建元素以便填充数组中的间隔。这样所创建的全部元素的值都是undefined。

示例
下面这个例子说明了reverse方法的用法:
functionReverseDemo(){
 vara,l;//声明变量。
 a=newArray(0,1,2,3,4);//创建数组并赋值。
 l=a.reverse();//反转数组的内容。
 return(l);//返回结果数组。
}