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

