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

push 方法
将新元素添加到一个数组中,并返回数组的新长度值。

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

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

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

示例

<script type="text/javascript">
var arrayObj = new Array(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。

示例

<script type="text/javascript">
var arrayObj = new Array(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 方法的用法:

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);
 // 返回数组 [1, 2, 3, "JScript", 42, "VBScript"]
 return(d);
}

要求
版本 3

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

arrayObj.join(separator)

参数
arrayObj 必选项。Array 对象。
separator 必选项。是一个 String 对象,作为最终的 String 对象中对数组元素之间的分隔符。如果省略了这个参数,那么数组元素之间就用一个逗号来分隔。

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

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

function JoinDemo(){
 var a, b;
 a = new Array(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)正值,如果第一个参数比第二个参数大。

示例

<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>

要求
版本 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 方法的用法:

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

(0)

相关推荐

  • 以JSON形式将JS中Array对象数组传至后台的方法

    业务是需要将前台jQuery easyUI DataGrid列表中所选的若干行的数据传到后台进行update操作 通常情况下我们会获取所选取行对象的ID,通过循环及简单封装拼凑成一个长String传送过去,并在Service层解释再通过findByID获取实例并update 但今次我们需要将整个对象群完整的传输至后台 其结构如下 选用谷歌的GSON插件及json2.js搭配使用 前台代码如下,简洁起见已去除部分简单验证代码: 复制代码 代码如下: var rows = $('#dg1').dat

  • js中判断Object、Array、Function等引用类型对象是否相等

    在迭代中,我们还要注意的是,对象或者数组中的元素可能是一个任意值--除了原始类型值.object.arrray外,这个值还可能是一个方法.一个DOM对象或者window对象,可能你已经注意到了,有部分引用类型是不能进行迭代的,需要分支判断,代码如下: 复制代码 代码如下: function compare(a,b){ var pt = /undefined|number|string|boolean/, fn = /^(function\s*)(\w*\b)/, cr = "constructo

  • Javascript中判断变量是数组还是对象(array还是object)

    怎样判断一个JavaScript变量是array还是obiect? 答案: 1.如果你只是用typeof来检查该变量,不论是array还是object,都将返回'objec'. 此问题的一个可行的答案是是检查该变量是不是object,并且检查该变量是否有数字长度(当为空array时长度也可能为0). 然而,参数对象[arguments object](传给制定函数的所有参数),也可能会适用于上述方法,技术上来说,参数对象并不是一个array. 此外,当一个对象有a.length属性的时候,这个方

  • js Array对象的扩展函数代码

    使用 复制代码 代码如下: <script language=javascript>var isNumeric = function(x) {   // returns true if x is numeric and false if it is not.   var RegExp = /^(-)?(\d*)(\.?)(\d*)$/;    return String(x).match(RegExp);}var myArray = [1,'two',3,'four',5,'six',7,'e

  • JavaScript 判断判断某个对象是Object还是一个Array

    1.typeof 操作符.对于Function, String, Number ,Undefined 等几种类型的对象来说,他完全可以胜任,但是为Array时 复制代码 代码如下: var arr=new Array("1","2","3","4","5"); alert(typeof(arr)); 你会收到一个object 的答案,有点让人失望 . 2.instanceof 操作符,JavaScript中

  • JavaScript中的Array对象使用说明

    说它是一个动态数组,是因为动态的添加数据: 复制代码 代码如下: var myarr = new Array(); myarr[0] = 1; myarr[1] = 2; myarr[2] = 3; myarr[3] = 23; myarr[4] = 11; 使用for进行遍历: 说它是一个字典对象,是因为他可以以键值的形式进行访问: 复制代码 代码如下: var dictionary = new Array(); dictionary["谢龙宝"] = "xielongba

  • javascript中活灵活现的Array对象详解

    前言 JavaScript中的Array对象,就是我们常说的数组对象,主要用于封装多个任意类型的数据,并对它们进行管理. 所有主流浏览器均支持Array对象. 大家都知道Array实例有这四个方法:push.pop.shift.unshift.大家也都知道 push + pop实现栈, shift + push实现队列.在这里不讨论什么先进后出.先进先出. 但一面这个题将要用到这几个方法. 题目 螺旋矩阵这个名词,在后台语言中可能很熟悉,他是个二维数组,他有什么特点呢?请看下图: 以上是一个从外

  • javascript Array对象使用小结

    Javascript的数组实质是对象,它把数组的下标转换成字符串,用其作为属性,因此它明显比真正的数组慢,但它可以更方便地使用. 改变自身pop,push,reverse,shift,sort,splice,unshift, 不改变自身concat,join,slice,indexOf,lastIndexOf(后两个为1.6),1.6新增的迭代器:map,filter,forEach,every,some,1.8新增reduce,reduceRight Array 对象的方法 FF: Firef

  • JScript内置对象Array中元素的删除方法

    我们知道JScript给我们提供了一个内置的数组对象Array.Array对象除了提供了constructor.length和prototype外,还默认提供了13个方法:concat.join.pop.push.reverse.shift.slice.sort.splice.toLocaleString.toString .unshift和valueOf,可是没有提供delete方法. 要是熟悉JavaScript的话,会马上说,系统提供了一个delete操作,可以用来删除数组中的元素.对,J

  • JavaScript数组Array对象增加和删除元素方法总结

    本文实例总结了JavaScript数组Array对象增加和删除元素方法.分享给大家供大家参考.具体分析如下: pop 方法 移除数组中的最后一个元素并返回该元素. arrayObj.pop( ) 必选的 arrayObj 引用是一个 Array 对象. 说明 如果该数组为空,那么将返回 undefined. shift 方法 移除数组中的第一个元素并返回该元素. arrayObj.shift( ) 必选的 arrayObj 引用是一个 Array 对象. 说明 shift 方法可移除数组中的第一

随机推荐