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

push 方法
将一个或多个新元素追加到数组的末尾中,并返回数组的新长度值。

arr.push([item1 [item2 [. . . [itemN ]]]])

如:
var arr= new Array(0,1,2,3,4);
arr.push(5,6,7,8,”枫岩”,”CnLei”);
alert(arr[arr.length-1]);
————————————————

pop 方法
移除数组中的最后一个元素并返回该元素,如果该数组为空,那么将返回 undefined。

arr.pop()

示例
var arrayObj = new Array(0,1,2,3,4);
alert(arrayObj.pop());

shift 方法
移除数组中的第一个元素并返回该元素。
arr.shift( )

?

unshift 方法
将指定的一个或多个元素插入数组开始位置并返回该数组。
arr.unshift([item1[, item2 [, . . . [, itemN]]]])

concat 方法 (Array)
返回一个新数组,这个新数组是由两个或更多数组组合而成的。
array1.concat([item1[, item2[, . . . [, itemN]]]])

concat 方法返回一个 Array 对象,其中包含了 array1 和提供的任意其他项目的连接。
要加的项目(item1 … itemN)会按照从左到右的顺序添加到数组。
如果某一项为数组,那么添加其内容到 array1 的末尾。
如果该项目不是数组,就将其作为单个的数组元素添加到数组的末尾。

以下为从源数组复制元素到结果数组:
对于从正被连接到新数组的数组中复制的对象参数,复制后仍然指向相同的对象。不论新数组和源数组中哪一个有改变,都将引起另一个的改变。 对于连接到新数组的数值或字符串,只复制其值。一个数组中值有改变并不影响另一个数组中的值。

function ConcatArrayDemo(){
?var a, b, c, d;
?a = new Array(1,2,3);
?b = “JScript”;
?c = new Array(42, “VBScript);
?d = a.concat(b, c);
?
?return(d);? // 返回数组 [1, 2, 3, “JScript”, 42, “VBScript”]
}

join 方法
返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。
arr.join(char)

arr为Array 对象。
char是一个 String 对象,作为数组元素之间的分隔符。如果省略了这个参数,那么数组元素之间就用一个逗号来分隔。

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

示例
下面这个例子说明了 join 方法的用法。

function JoinDemo(){
?var a, b;
?a = new Array(0,1,2,3,4);
?b = a.join(“-“);
?return(b);???? // 返回 “0-1-2-3-4”
}

sort 方法
返回一个元素已经进行了排序的 Array 对象。
arr.sort(fun)

参数
arr是 Array 对象。
fun是用来确定元素顺序的函数名。如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。

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

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

示例
<script type=”text/javascript”>
function AscSort(x, y) {
? return x == y ? 0 : (x > y ? 1 : -1);
}

function DescSort(x, y) {
? return x == y ? 0 : (x > y ? -1 : 1);
}

function RandomSort(x, y) {
? return Math.floor(Math.random() * 2 – 1 );
}

var array = [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>
?

slice 方法 (Array)
返回一个数组的一段。返回一个 Array 对象
arr.slice(start, [end])

参数
start 开始元素是从零开始计算的下标。
end 结束元素是从零开始计算的下标。

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

示例
在下面这个例子中,除了最后一个元素之外,myArray 中所有的元素都被复制到 newArray 中:
newArray = myArray.slice(0, -1)

splice 方法
从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。
arr.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])

参数
start 指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。
deleteCount 要移除的元素的个数。
item1, item2,. . .,itemN? 要在所移除元素的位置上插入的新元素。

reverse 方法
返回一个元素顺序被反转的 Array 对象。
arr.reverse( )

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

示例
function ReverseDemo(){
?var a, l; // 声明变量。
?a = new Array(0,1,2,3,4); // 创建数组并赋值。
?l = a.reverse(); // 反转数组的内容。
?return(l); // 返回结果数组。
}

赞(0) 打赏
未经允许不得转载:WEB前端开发 » JavaScript中Array 对象相关的几个方法[转]

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏