JavaScript中Array 對(duì)象相關(guān)的幾個(gè)方法
更新時(shí)間:2006年12月22日 00:00:00 作者:
push 方法
將新元素添加到一個(gè)數(shù)組中,并返回?cái)?shù)組的新長度值。
參數(shù)
arrayObj 必選項(xiàng)。一個(gè) Array 對(duì)象。
item, item2,. . . itemN 可選項(xiàng)。該 Array 的新元素。
說明
push 方法將以新元素出現(xiàn)的順序添加這些元素。如果參數(shù)之一為數(shù)組,那么該數(shù)組將作為單個(gè)元素添加到數(shù)組中。如果要合并兩個(gè)或多個(gè)數(shù)組中的元素,請(qǐng)使用 concat 方法。
示例
要求
版本 5.5
pop 方法
移除數(shù)組中的最后一個(gè)元素并返回該元素。
說明
如果該數(shù)組為空,那么將返回 undefined。
示例
要求
版本 5.5
shift 方法
移除數(shù)組中的第一個(gè)元素并返回該元素。
參數(shù)
必選的 arrayObj 引用是一個(gè) Array 對(duì)象。
說明
shift 方法可移除數(shù)組中的第一個(gè)元素并返回該元素。
要求
版本 5.5
unshift 方法
將指定的元素插入數(shù)組開始位置并返回該數(shù)組。
參數(shù)
arrayObj 必選項(xiàng)。一個(gè) Array 對(duì)象。
item1, item2,. . .,itemN 可選項(xiàng)。將插入到該 Array 開始部分的元素。
說明
unshift 方法將這些元素插入到一個(gè)數(shù)組的開始部分,所以這些元素將以參數(shù)序列中的次序出現(xiàn)在數(shù)組中。
要求
版本 5.5
concat 方法 (Array)
返回一個(gè)新數(shù)組,這個(gè)新數(shù)組是由兩個(gè)或更多數(shù)組組合而成的。
參數(shù)
array1 必選項(xiàng)。其他所有數(shù)組要進(jìn)行連接的 Array 對(duì)象。
item1,. . ., itemN 可選項(xiàng)。要連接到 array1 末尾的其他項(xiàng)目。
說明
concat 方法返回一個(gè) Array 對(duì)象,其中包含了 array1 和提供的任意其他項(xiàng)目的連接。
要加的項(xiàng)目(item1 … itemN)會(huì)按照從左到右的順序添加到數(shù)組。如果某一項(xiàng)為數(shù)組,那么添加其內(nèi)容到 array1 的末尾。如果該項(xiàng)目不是數(shù)組,就將其作為單個(gè)的數(shù)組元素添加到數(shù)組的末尾。
以下為從源數(shù)組復(fù)制元素到結(jié)果數(shù)組:
對(duì)于從正被連接到新數(shù)組的數(shù)組中復(fù)制的對(duì)象參數(shù),復(fù)制后仍然指向相同的對(duì)象。不論新數(shù)組和源數(shù)組中哪一個(gè)有改變,都將引起另一個(gè)的改變。
對(duì)于連接到新數(shù)組的數(shù)值或字符串,只復(fù)制其值。一個(gè)數(shù)組中值有改變并不影響另一個(gè)數(shù)組中的值。
示例
下面這個(gè)例子說明了使用數(shù)組時(shí) concat 方法的用法:
要求
版本 3
join 方法
返回字符串值,其中包含了連接到一起的數(shù)組的所有元素,元素由指定的分隔符分隔開來。
參數(shù)
arrayObj 必選項(xiàng)。Array 對(duì)象。
separator 必選項(xiàng)。是一個(gè) String 對(duì)象,作為最終的 String 對(duì)象中對(duì)數(shù)組元素之間的分隔符。如果省略了這個(gè)參數(shù),那么數(shù)組元素之間就用一個(gè)逗號(hào)來分隔。
說明
如果數(shù)組中有元素沒有定義或者為 null,將其作為空字符串處理。
示例
下面這個(gè)例子說明了 join 方法的用法。
要求
版本 2
sort 方法
返回一個(gè)元素已經(jīng)進(jìn)行了排序的 Array 對(duì)象。
參數(shù)
arrayObj 必選項(xiàng)。任意 Array 對(duì)象。
sortFunction 可選項(xiàng)。是用來確定元素順序的函數(shù)的名稱。如果這個(gè)參數(shù)被省略,那么元素將按照 ASCII 字符順序進(jìn)行升序排列。
說明
sort 方法將 Array 對(duì)象進(jìn)行適當(dāng)?shù)呐判?;在?zhí)行過程中并不會(huì)創(chuàng)建新的 Array 對(duì)象。
如果為 sortfunction 參數(shù)提供了一個(gè)函數(shù),那么該函數(shù)必須返回下列值之一:
(1)負(fù)值,如果所傳遞的第一個(gè)參數(shù)比第二個(gè)參數(shù)小。
(2)零,如果兩個(gè)參數(shù)相等。
(3)正值,如果第一個(gè)參數(shù)比第二個(gè)參數(shù)大。
示例
要求
版本 2
slice 方法 (Array)
返回一個(gè)數(shù)組的一段。
參數(shù)
arrayObj 必選項(xiàng)。一個(gè) Array 對(duì)象。
start 必選項(xiàng)。arrayObj 中所指定的部分的開始元素是從零開始計(jì)算的下標(biāo)。
end 可選項(xiàng)。arrayObj 中所指定的部分的結(jié)束元素是從零開始計(jì)算的下標(biāo)。
說明
slice 方法返回一個(gè) Array 對(duì)象,其中包含了 arrayObj 的指定部分。
slice 方法一直復(fù)制到 end 所指定的元素,但是不包括該元素。如果 start 為負(fù),將它作為 length + start處理,此處 length 為數(shù)組的長度。如果 end 為負(fù),就將它作為 length + end 處理,此處 length 為數(shù)組的長度。如果省略 end ,那么 slice 方法將一直復(fù)制到 arrayObj 的結(jié)尾。如果 end 出現(xiàn)在 start 之前,不復(fù)制任何元素到新數(shù)組中。
示例
在下面這個(gè)例子中,除了最后一個(gè)元素之外,myArray 中所有的元素都被復(fù)制到 newArray 中:
splice 方法
從一個(gè)數(shù)組中移除一個(gè)或多個(gè)元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。
參數(shù)
arrayObj 必選項(xiàng)。一個(gè) Array 對(duì)象。
start 必選項(xiàng)。指定從數(shù)組中移除元素的開始位置,這個(gè)位置是從 0 開始計(jì)算的。
deleteCount 必選項(xiàng)。要移除的元素的個(gè)數(shù)。
item1, item2,. . .,itemN 必選項(xiàng)。要在所移除元素的位置上插入的新元素。
說明
splice 方法可以移除從 start 位置開始的指定個(gè)數(shù)的元素并插入新元素,從而修改 arrayObj。返回值是一個(gè)由所移除的元素組成的新 Array 對(duì)象。
要求
版本 5.5
reverse 方法
返回一個(gè)元素順序被反轉(zhuǎn)的 Array 對(duì)象。
參數(shù)
arrayObj 必選項(xiàng),該參數(shù)為 Array 對(duì)象。
說明
reverse 方法將一個(gè) Array 對(duì)象中的元素位置進(jìn)行反轉(zhuǎn)。在執(zhí)行過程中,這個(gè)方法并不會(huì)創(chuàng)建一個(gè)新的 Array 對(duì)象。
如果數(shù)組是不連續(xù)的,reverse 方法將在數(shù)組中創(chuàng)建元素以便填充數(shù)組中的間隔。這樣所創(chuàng)建的全部元素的值都是 undefined。
示例
下面這個(gè)例子說明了 reverse 方法的用法:
將新元素添加到一個(gè)數(shù)組中,并返回?cái)?shù)組的新長度值。
arrayObj.push([item1 [item2 [. . . [itemN ]]]])
參數(shù)
arrayObj 必選項(xiàng)。一個(gè) Array 對(duì)象。
item, item2,. . . itemN 可選項(xiàng)。該 Array 的新元素。
說明
push 方法將以新元素出現(xiàn)的順序添加這些元素。如果參數(shù)之一為數(shù)組,那么該數(shù)組將作為單個(gè)元素添加到數(shù)組中。如果要合并兩個(gè)或多個(gè)數(shù)組中的元素,請(qǐng)使用 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ù)組中的最后一個(gè)元素并返回該元素。
arrayObj.pop()
必選的 arrayObj 引用是一個(gè) Array 對(duì)象。說明
如果該數(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ù)組中的第一個(gè)元素并返回該元素。
arrayObj.shift( )
參數(shù)
必選的 arrayObj 引用是一個(gè) Array 對(duì)象。
說明
shift 方法可移除數(shù)組中的第一個(gè)元素并返回該元素。
要求
版本 5.5
unshift 方法
將指定的元素插入數(shù)組開始位置并返回該數(shù)組。
arrayObj.unshift([item1[, item2 [, . . . [, itemN]]]])
參數(shù)
arrayObj 必選項(xiàng)。一個(gè) Array 對(duì)象。
item1, item2,. . .,itemN 可選項(xiàng)。將插入到該 Array 開始部分的元素。
說明
unshift 方法將這些元素插入到一個(gè)數(shù)組的開始部分,所以這些元素將以參數(shù)序列中的次序出現(xiàn)在數(shù)組中。
要求
版本 5.5
concat 方法 (Array)
返回一個(gè)新數(shù)組,這個(gè)新數(shù)組是由兩個(gè)或更多數(shù)組組合而成的。
array1.concat([item1[, item2[, . . . [, itemN]]]])
參數(shù)
array1 必選項(xiàng)。其他所有數(shù)組要進(jìn)行連接的 Array 對(duì)象。
item1,. . ., itemN 可選項(xiàng)。要連接到 array1 末尾的其他項(xiàng)目。
說明
concat 方法返回一個(gè) Array 對(duì)象,其中包含了 array1 和提供的任意其他項(xiàng)目的連接。
要加的項(xiàng)目(item1 … itemN)會(huì)按照從左到右的順序添加到數(shù)組。如果某一項(xiàng)為數(shù)組,那么添加其內(nèi)容到 array1 的末尾。如果該項(xiàng)目不是數(shù)組,就將其作為單個(gè)的數(shù)組元素添加到數(shù)組的末尾。
以下為從源數(shù)組復(fù)制元素到結(jié)果數(shù)組:
對(duì)于從正被連接到新數(shù)組的數(shù)組中復(fù)制的對(duì)象參數(shù),復(fù)制后仍然指向相同的對(duì)象。不論新數(shù)組和源數(shù)組中哪一個(gè)有改變,都將引起另一個(gè)的改變。
對(duì)于連接到新數(shù)組的數(shù)值或字符串,只復(fù)制其值。一個(gè)數(shù)組中值有改變并不影響另一個(gè)數(shù)組中的值。
示例
下面這個(gè)例子說明了使用數(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);
// 返回?cái)?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);
// 返回?cái)?shù)組 [1, 2, 3, "JScript", 42, "VBScript"]
return(d);
}
要求
版本 3
join 方法
返回字符串值,其中包含了連接到一起的數(shù)組的所有元素,元素由指定的分隔符分隔開來。
arrayObj.join(separator)
參數(shù)
arrayObj 必選項(xiàng)。Array 對(duì)象。
separator 必選項(xiàng)。是一個(gè) String 對(duì)象,作為最終的 String 對(duì)象中對(duì)數(shù)組元素之間的分隔符。如果省略了這個(gè)參數(shù),那么數(shù)組元素之間就用一個(gè)逗號(hào)來分隔。
說明
如果數(shù)組中有元素沒有定義或者為 null,將其作為空字符串處理。
示例
下面這個(gè)例子說明了 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 方法
返回一個(gè)元素已經(jīng)進(jìn)行了排序的 Array 對(duì)象。
arrayobj.sort(sortfunction)
參數(shù)
arrayObj 必選項(xiàng)。任意 Array 對(duì)象。
sortFunction 可選項(xiàng)。是用來確定元素順序的函數(shù)的名稱。如果這個(gè)參數(shù)被省略,那么元素將按照 ASCII 字符順序進(jìn)行升序排列。
說明
sort 方法將 Array 對(duì)象進(jìn)行適當(dāng)?shù)呐判?;在?zhí)行過程中并不會(huì)創(chuàng)建新的 Array 對(duì)象。
如果為 sortfunction 參數(shù)提供了一個(gè)函數(shù),那么該函數(shù)必須返回下列值之一:
(1)負(fù)值,如果所傳遞的第一個(gè)參數(shù)比第二個(gè)參數(shù)小。
(2)零,如果兩個(gè)參數(shù)相等。
(3)正值,如果第一個(gè)參數(shù)比第二個(gè)參數(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>隨機(jī)排序:" + array.sort(RandomSort) + "</p>");
document.write("<p>隨機(jī)排序:" + array.sort(RandomSort) + "</p>");
document.write("<p>隨機(jī)排序:" + 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>隨機(jī)排序:" + array.sort(RandomSort) + "</p>");
document.write("<p>隨機(jī)排序:" + array.sort(RandomSort) + "</p>");
document.write("<p>隨機(jī)排序:" + array.sort(RandomSort) + "</p>");
</script>
要求
版本 2
slice 方法 (Array)
返回一個(gè)數(shù)組的一段。
arrayObj.slice(start, [end])
參數(shù)
arrayObj 必選項(xiàng)。一個(gè) Array 對(duì)象。
start 必選項(xiàng)。arrayObj 中所指定的部分的開始元素是從零開始計(jì)算的下標(biāo)。
end 可選項(xiàng)。arrayObj 中所指定的部分的結(jié)束元素是從零開始計(jì)算的下標(biāo)。
說明
slice 方法返回一個(gè) Array 對(duì)象,其中包含了 arrayObj 的指定部分。
slice 方法一直復(fù)制到 end 所指定的元素,但是不包括該元素。如果 start 為負(fù),將它作為 length + start處理,此處 length 為數(shù)組的長度。如果 end 為負(fù),就將它作為 length + end 處理,此處 length 為數(shù)組的長度。如果省略 end ,那么 slice 方法將一直復(fù)制到 arrayObj 的結(jié)尾。如果 end 出現(xiàn)在 start 之前,不復(fù)制任何元素到新數(shù)組中。
示例
在下面這個(gè)例子中,除了最后一個(gè)元素之外,myArray 中所有的元素都被復(fù)制到 newArray 中:
newArray = myArray.slice(0, -1)
splice 方法
從一個(gè)數(shù)組中移除一個(gè)或多個(gè)元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。
arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
參數(shù)
arrayObj 必選項(xiàng)。一個(gè) Array 對(duì)象。
start 必選項(xiàng)。指定從數(shù)組中移除元素的開始位置,這個(gè)位置是從 0 開始計(jì)算的。
deleteCount 必選項(xiàng)。要移除的元素的個(gè)數(shù)。
item1, item2,. . .,itemN 必選項(xiàng)。要在所移除元素的位置上插入的新元素。
說明
splice 方法可以移除從 start 位置開始的指定個(gè)數(shù)的元素并插入新元素,從而修改 arrayObj。返回值是一個(gè)由所移除的元素組成的新 Array 對(duì)象。
要求
版本 5.5
reverse 方法
返回一個(gè)元素順序被反轉(zhuǎn)的 Array 對(duì)象。
arrayObj.reverse( )
參數(shù)
arrayObj 必選項(xiàng),該參數(shù)為 Array 對(duì)象。
說明
reverse 方法將一個(gè) Array 對(duì)象中的元素位置進(jìn)行反轉(zhuǎn)。在執(zhí)行過程中,這個(gè)方法并不會(huì)創(chuàng)建一個(gè)新的 Array 對(duì)象。
如果數(shù)組是不連續(xù)的,reverse 方法將在數(shù)組中創(chuàng)建元素以便填充數(shù)組中的間隔。這樣所創(chuàng)建的全部元素的值都是 undefined。
示例
下面這個(gè)例子說明了 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對(duì)象數(shù)組傳至后臺(tái)的方法
- JavaScript 判斷判斷某個(gè)對(duì)象是Object還是一個(gè)Array
- js中判斷Object、Array、Function等引用類型對(duì)象是否相等
- JavaScript數(shù)組Array對(duì)象增加和刪除元素方法總結(jié)
- Javascript中判斷變量是數(shù)組還是對(duì)象(array還是object)
- javascript Array對(duì)象使用小結(jié)
- JScript內(nèi)置對(duì)象Array中元素的刪除方法
- js Array對(duì)象的擴(kuò)展函數(shù)代碼
- JavaScript中的Array對(duì)象使用說明
- javascript中活靈活現(xiàn)的Array對(duì)象詳解
相關(guān)文章
深入理解JavaScript系列(40):設(shè)計(jì)模式之組合模式詳解
這篇文章主要介紹了深入理解JavaScript系列(40):設(shè)計(jì)模式之組合模式詳解,組合模式(Composite)將對(duì)象組合成樹形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu),組合模式使得用戶對(duì)單個(gè)對(duì)象和組合對(duì)象的使用具有一致性,需要的朋友可以參考下2015-03-03
javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法
以下程序例子實(shí)現(xiàn)了split和整數(shù)字符串互轉(zhuǎn)的用法2009-03-03
2019年度web前端面試題總結(jié)(主要為Vue面試題)
轉(zhuǎn)眼2019又要過去了,作為一名前端碼農(nóng),又熬過一個(gè)沒日沒夜的年頭,頭發(fā)又少了不少,去年的學(xué)習(xí)計(jì)劃一半也沒完成,唉。。。 現(xiàn)在為大家總結(jié)一下這一年面試的幾家公司的關(guān)于前端面試題吧2020-01-01
自定義右鍵屬性覆蓋瀏覽器默認(rèn)右鍵行為實(shí)現(xiàn)代碼
自定義右鍵屬性,對(duì)于一些新手朋友來說還是很陌生的,此文講解的是可以覆蓋瀏覽器默認(rèn)右鍵行為,感興趣的朋友可以了解下,或許本文對(duì)你學(xué)習(xí)又進(jìn)一步2013-02-02
詳解javascript設(shè)計(jì)模式三:代理模式
這篇文章主要介紹了javascript設(shè)計(jì)模式三:代理模式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
JavaScript 數(shù)組some()和filter()的用法及區(qū)別
下面小編就為大家?guī)硪黄狫avaScript 數(shù)組some()和filter()的用法及區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-05-05

