JavaScript中Array 對象相關的幾個方法
更新時間:2006年12月22日 00:00:00 作者:
push 方法
將新元素添加到一個數(shù)組中,并返回數(shù)組的新長度值。
參數(shù)
arrayObj 必選項。一個 Array 對象。
item, item2,. . . itemN 可選項。該 Array 的新元素。
說明
push 方法將以新元素出現(xiàn)的順序添加這些元素。如果參數(shù)之一為數(shù)組,那么該數(shù)組將作為單個元素添加到數(shù)組中。如果要合并兩個或多個數(shù)組中的元素,請使用 concat 方法。
示例
要求
版本 5.5
pop 方法
移除數(shù)組中的最后一個元素并返回該元素。
說明
如果該數(shù)組為空,那么將返回 undefined。
示例
要求
版本 5.5
shift 方法
移除數(shù)組中的第一個元素并返回該元素。
參數(shù)
必選的 arrayObj 引用是一個 Array 對象。
說明
shift 方法可移除數(shù)組中的第一個元素并返回該元素。
要求
版本 5.5
unshift 方法
將指定的元素插入數(shù)組開始位置并返回該數(shù)組。
參數(shù)
arrayObj 必選項。一個 Array 對象。
item1, item2,. . .,itemN 可選項。將插入到該 Array 開始部分的元素。
說明
unshift 方法將這些元素插入到一個數(shù)組的開始部分,所以這些元素將以參數(shù)序列中的次序出現(xiàn)在數(shù)組中。
要求
版本 5.5
concat 方法 (Array)
返回一個新數(shù)組,這個新數(shù)組是由兩個或更多數(shù)組組合而成的。
參數(shù)
array1 必選項。其他所有數(shù)組要進行連接的 Array 對象。
item1,. . ., itemN 可選項。要連接到 array1 末尾的其他項目。
說明
concat 方法返回一個 Array 對象,其中包含了 array1 和提供的任意其他項目的連接。
要加的項目(item1 … itemN)會按照從左到右的順序添加到數(shù)組。如果某一項為數(shù)組,那么添加其內(nèi)容到 array1 的末尾。如果該項目不是數(shù)組,就將其作為單個的數(shù)組元素添加到數(shù)組的末尾。
以下為從源數(shù)組復制元素到結(jié)果數(shù)組:
對于從正被連接到新數(shù)組的數(shù)組中復制的對象參數(shù),復制后仍然指向相同的對象。不論新數(shù)組和源數(shù)組中哪一個有改變,都將引起另一個的改變。
對于連接到新數(shù)組的數(shù)值或字符串,只復制其值。一個數(shù)組中值有改變并不影響另一個數(shù)組中的值。
示例
下面這個例子說明了使用數(shù)組時 concat 方法的用法:
要求
版本 3
join 方法
返回字符串值,其中包含了連接到一起的數(shù)組的所有元素,元素由指定的分隔符分隔開來。
參數(shù)
arrayObj 必選項。Array 對象。
separator 必選項。是一個 String 對象,作為最終的 String 對象中對數(shù)組元素之間的分隔符。如果省略了這個參數(shù),那么數(shù)組元素之間就用一個逗號來分隔。
說明
如果數(shù)組中有元素沒有定義或者為 null,將其作為空字符串處理。
示例
下面這個例子說明了 join 方法的用法。
要求
版本 2
sort 方法
返回一個元素已經(jīng)進行了排序的 Array 對象。
參數(shù)
arrayObj 必選項。任意 Array 對象。
sortFunction 可選項。是用來確定元素順序的函數(shù)的名稱。如果這個參數(shù)被省略,那么元素將按照 ASCII 字符順序進行升序排列。
說明
sort 方法將 Array 對象進行適當?shù)呐判?;在?zhí)行過程中并不會創(chuàng)建新的 Array 對象。
如果為 sortfunction 參數(shù)提供了一個函數(shù),那么該函數(shù)必須返回下列值之一:
(1)負值,如果所傳遞的第一個參數(shù)比第二個參數(shù)小。
(2)零,如果兩個參數(shù)相等。
(3)正值,如果第一個參數(shù)比第二個參數(shù)大。
示例
要求
版本 2
slice 方法 (Array)
返回一個數(shù)組的一段。
參數(shù)
arrayObj 必選項。一個 Array 對象。
start 必選項。arrayObj 中所指定的部分的開始元素是從零開始計算的下標。
end 可選項。arrayObj 中所指定的部分的結(jié)束元素是從零開始計算的下標。
說明
slice 方法返回一個 Array 對象,其中包含了 arrayObj 的指定部分。
slice 方法一直復制到 end 所指定的元素,但是不包括該元素。如果 start 為負,將它作為 length + start處理,此處 length 為數(shù)組的長度。如果 end 為負,就將它作為 length + end 處理,此處 length 為數(shù)組的長度。如果省略 end ,那么 slice 方法將一直復制到 arrayObj 的結(jié)尾。如果 end 出現(xiàn)在 start 之前,不復制任何元素到新數(shù)組中。
示例
在下面這個例子中,除了最后一個元素之外,myArray 中所有的元素都被復制到 newArray 中:
splice 方法
從一個數(shù)組中移除一個或多個元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。
參數(shù)
arrayObj 必選項。一個 Array 對象。
start 必選項。指定從數(shù)組中移除元素的開始位置,這個位置是從 0 開始計算的。
deleteCount 必選項。要移除的元素的個數(shù)。
item1, item2,. . .,itemN 必選項。要在所移除元素的位置上插入的新元素。
說明
splice 方法可以移除從 start 位置開始的指定個數(shù)的元素并插入新元素,從而修改 arrayObj。返回值是一個由所移除的元素組成的新 Array 對象。
要求
版本 5.5
reverse 方法
返回一個元素順序被反轉(zhuǎn)的 Array 對象。
參數(shù)
arrayObj 必選項,該參數(shù)為 Array 對象。
說明
reverse 方法將一個 Array 對象中的元素位置進行反轉(zhuǎn)。在執(zhí)行過程中,這個方法并不會創(chuàng)建一個新的 Array 對象。
如果數(shù)組是不連續(xù)的,reverse 方法將在數(shù)組中創(chuàng)建元素以便填充數(shù)組中的間隔。這樣所創(chuàng)建的全部元素的值都是 undefined。
示例
下面這個例子說明了 reverse 方法的用法:
將新元素添加到一個數(shù)組中,并返回數(shù)組的新長度值。
arrayObj.push([item1 [item2 [. . . [itemN ]]]])
參數(shù)
arrayObj 必選項。一個 Array 對象。
item, item2,. . . itemN 可選項。該 Array 的新元素。
說明
push 方法將以新元素出現(xiàn)的順序添加這些元素。如果參數(shù)之一為數(shù)組,那么該數(shù)組將作為單個元素添加到數(shù)組中。如果要合并兩個或多個數(shù)組中的元素,請使用 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>
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 方法
移除數(shù)組中的最后一個元素并返回該元素。
arrayObj.pop()
必選的 arrayObj 引用是一個 Array 對象。說明
如果該數(shù)組為空,那么將返回 undefined。
示例
<script type="text/javascript">
var arrayObj = new Array(0,1,2,3,4);
alert(arrayObj.pop());
</script>
var arrayObj = new Array(0,1,2,3,4);
alert(arrayObj.pop());
</script>
要求
版本 5.5
shift 方法
移除數(shù)組中的第一個元素并返回該元素。
arrayObj.shift( )
參數(shù)
必選的 arrayObj 引用是一個 Array 對象。
說明
shift 方法可移除數(shù)組中的第一個元素并返回該元素。
要求
版本 5.5
unshift 方法
將指定的元素插入數(shù)組開始位置并返回該數(shù)組。
arrayObj.unshift([item1[, item2 [, . . . [, itemN]]]])
參數(shù)
arrayObj 必選項。一個 Array 對象。
item1, item2,. . .,itemN 可選項。將插入到該 Array 開始部分的元素。
說明
unshift 方法將這些元素插入到一個數(shù)組的開始部分,所以這些元素將以參數(shù)序列中的次序出現(xiàn)在數(shù)組中。
要求
版本 5.5
concat 方法 (Array)
返回一個新數(shù)組,這個新數(shù)組是由兩個或更多數(shù)組組合而成的。
array1.concat([item1[, item2[, . . . [, itemN]]]])
參數(shù)
array1 必選項。其他所有數(shù)組要進行連接的 Array 對象。
item1,. . ., itemN 可選項。要連接到 array1 末尾的其他項目。
說明
concat 方法返回一個 Array 對象,其中包含了 array1 和提供的任意其他項目的連接。
要加的項目(item1 … itemN)會按照從左到右的順序添加到數(shù)組。如果某一項為數(shù)組,那么添加其內(nèi)容到 array1 的末尾。如果該項目不是數(shù)組,就將其作為單個的數(shù)組元素添加到數(shù)組的末尾。
以下為從源數(shù)組復制元素到結(jié)果數(shù)組:
對于從正被連接到新數(shù)組的數(shù)組中復制的對象參數(shù),復制后仍然指向相同的對象。不論新數(shù)組和源數(shù)組中哪一個有改變,都將引起另一個的改變。
對于連接到新數(shù)組的數(shù)值或字符串,只復制其值。一個數(shù)組中值有改變并不影響另一個數(shù)組中的值。
示例
下面這個例子說明了使用數(shù)組時 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);
// 返回數(shù)組 [1, 2, 3, "JScript", 42, "VBScript"]
return(d);
}
var a, b, c, d;
a = new Array(1,2,3);
b = "JScript";
c = new Array(42, "VBScript);
d = a.concat(b, c);
// 返回數(shù)組 [1, 2, 3, "JScript", 42, "VBScript"]
return(d);
}
要求
版本 3
join 方法
返回字符串值,其中包含了連接到一起的數(shù)組的所有元素,元素由指定的分隔符分隔開來。
arrayObj.join(separator)
參數(shù)
arrayObj 必選項。Array 對象。
separator 必選項。是一個 String 對象,作為最終的 String 對象中對數(shù)組元素之間的分隔符。如果省略了這個參數(shù),那么數(shù)組元素之間就用一個逗號來分隔。
說明
如果數(shù)組中有元素沒有定義或者為 null,將其作為空字符串處理。
示例
下面這個例子說明了 join 方法的用法。
function JoinDemo(){
var a, b;
a = new Array(0,1,2,3,4);
b = a.join("-");
return(b);
}
var a, b;
a = new Array(0,1,2,3,4);
b = a.join("-");
return(b);
}
要求
版本 2
sort 方法
返回一個元素已經(jīng)進行了排序的 Array 對象。
arrayobj.sort(sortfunction)
參數(shù)
arrayObj 必選項。任意 Array 對象。
sortFunction 可選項。是用來確定元素順序的函數(shù)的名稱。如果這個參數(shù)被省略,那么元素將按照 ASCII 字符順序進行升序排列。
說明
sort 方法將 Array 對象進行適當?shù)呐判?;在?zhí)行過程中并不會創(chuàng)建新的 Array 對象。
如果為 sortfunction 參數(shù)提供了一個函數(shù),那么該函數(shù)必須返回下列值之一:
(1)負值,如果所傳遞的第一個參數(shù)比第二個參數(shù)小。
(2)零,如果兩個參數(shù)相等。
(3)正值,如果第一個參數(shù)比第二個參數(shù)大。
示例
<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>
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)
返回一個數(shù)組的一段。
arrayObj.slice(start, [end])
參數(shù)
arrayObj 必選項。一個 Array 對象。
start 必選項。arrayObj 中所指定的部分的開始元素是從零開始計算的下標。
end 可選項。arrayObj 中所指定的部分的結(jié)束元素是從零開始計算的下標。
說明
slice 方法返回一個 Array 對象,其中包含了 arrayObj 的指定部分。
slice 方法一直復制到 end 所指定的元素,但是不包括該元素。如果 start 為負,將它作為 length + start處理,此處 length 為數(shù)組的長度。如果 end 為負,就將它作為 length + end 處理,此處 length 為數(shù)組的長度。如果省略 end ,那么 slice 方法將一直復制到 arrayObj 的結(jié)尾。如果 end 出現(xiàn)在 start 之前,不復制任何元素到新數(shù)組中。
示例
在下面這個例子中,除了最后一個元素之外,myArray 中所有的元素都被復制到 newArray 中:
newArray = myArray.slice(0, -1)
splice 方法
從一個數(shù)組中移除一個或多個元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。
arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
參數(shù)
arrayObj 必選項。一個 Array 對象。
start 必選項。指定從數(shù)組中移除元素的開始位置,這個位置是從 0 開始計算的。
deleteCount 必選項。要移除的元素的個數(shù)。
item1, item2,. . .,itemN 必選項。要在所移除元素的位置上插入的新元素。
說明
splice 方法可以移除從 start 位置開始的指定個數(shù)的元素并插入新元素,從而修改 arrayObj。返回值是一個由所移除的元素組成的新 Array 對象。
要求
版本 5.5
reverse 方法
返回一個元素順序被反轉(zhuǎn)的 Array 對象。
arrayObj.reverse( )
參數(shù)
arrayObj 必選項,該參數(shù)為 Array 對象。
說明
reverse 方法將一個 Array 對象中的元素位置進行反轉(zhuǎn)。在執(zhí)行過程中,這個方法并不會創(chuàng)建一個新的 Array 對象。
如果數(shù)組是不連續(xù)的,reverse 方法將在數(shù)組中創(chuàng)建元素以便填充數(shù)組中的間隔。這樣所創(chuàng)建的全部元素的值都是 undefined。
示例
下面這個例子說明了 reverse 方法的用法:
function ReverseDemo(){
var a, l; // 聲明變量。
a = new Array(0,1,2,3,4); // 創(chuàng)建數(shù)組并賦值。
l = a.reverse(); // 反轉(zhuǎn)數(shù)組的內(nèi)容。
return(l); // 返回結(jié)果數(shù)組。
}
var a, l; // 聲明變量。
a = new Array(0,1,2,3,4); // 創(chuàng)建數(shù)組并賦值。
l = a.reverse(); // 反轉(zhuǎn)數(shù)組的內(nèi)容。
return(l); // 返回結(jié)果數(shù)組。
}
您可能感興趣的文章:
- 以JSON形式將JS中Array對象數(shù)組傳至后臺的方法
- JavaScript 判斷判斷某個對象是Object還是一個Array
- js中判斷Object、Array、Function等引用類型對象是否相等
- JavaScript數(shù)組Array對象增加和刪除元素方法總結(jié)
- Javascript中判斷變量是數(shù)組還是對象(array還是object)
- javascript Array對象使用小結(jié)
- JScript內(nèi)置對象Array中元素的刪除方法
- js Array對象的擴展函數(shù)代碼
- JavaScript中的Array對象使用說明
- javascript中活靈活現(xiàn)的Array對象詳解
相關文章
關于JS字符串函數(shù)String.replace()
本篇介紹關于JS字符串函數(shù)String.replace(),有需要的朋友參考一下。2013-04-04JavaScript創(chuàng)建對象的七種方式全面總結(jié)
這篇文章主要介紹了JavaScript創(chuàng)建對象的七種方式,工廠模式,構(gòu)造函數(shù)模式,原型模式等分別在本文中做出了講解,具體操作步驟大家可查看下文的詳細講解,感興趣的小伙伴們可以參考一下。2017-08-08JavaScript字符串對象toUpperCase方法入門實例(用于把字母轉(zhuǎn)換為大寫)
這篇文章主要介紹了JavaScript字符串對象toUpperCase方法入門實例,toUpperCase方法用于把字母轉(zhuǎn)換為大寫,需要的朋友可以參考下2014-10-10