創(chuàng)建 Array 對(duì)象的語法:
new Array();
new Array(size);
new Array(element0, element1, ..., elementn);
參數(shù)
參數(shù) size 是期望的數(shù)組元素個(gè)數(shù)祝高。返回的數(shù)組栗弟,length 字段將被設(shè)為 size 的值。
參數(shù) element ..., elementn 是參數(shù)列表工闺。當(dāng)使用這些參數(shù)來調(diào)用構(gòu)造函數(shù) Array() 時(shí)乍赫,新創(chuàng)建的數(shù)組的元素就會(huì)被初始化為這些值。它的 length 字段也會(huì)被設(shè)置為參數(shù)的個(gè)數(shù)陆蟆。
<script type="text/javascript">
var test=new Array();
console.log(test);
var test1=new Array(10);
console.log(test1);
var test2=new Array(1,2,3);
console.log(test2);
</script>
Array 對(duì)象屬性
屬性 | 描述 |
---|---|
constructor | 返回對(duì)創(chuàng)建此對(duì)象的數(shù)組函數(shù)的引用雷厂。 |
length | 設(shè)置或返回?cái)?shù)組中元素的數(shù)目。 |
prototype | 使您有能力向?qū)ο筇砑訉傩院头椒ā?/td> |
constructor 屬性返回對(duì)創(chuàng)建此對(duì)象的數(shù)組函數(shù)的引用叠殷。
例子1
var test = new Array();
if (test.constructor == Array) {
document.write("This is an Array");
}
if (test.constructor == Boolean) {
document.write("This is a Boolean");
}
if (test.constructor == Date) {
document.write("This is a Date");
}
if (test.constructor == String) {
document.write("This is a String");
}
//This is an Array
例子2
function employee(name, job, born) {
this.name = name;
this.job = job;
this.born = born;
}
var bill = new employee("Bill Gates", "Engineer", 1985);
console.log(bill.constructor);
//打印
function employee(name, job, born) {
this.name = name;
this.job = job;
this.born = born;
}
length 屬性可設(shè)置或返回?cái)?shù)組中元素的數(shù)目改鲫。
var arr=new Array(3);
arr[0]="你";
arr[1]="我";
arr[2]="他";
console.log("arr數(shù)組長(zhǎng)度為"+arr.length);
arr.length=5;
console.log("arr數(shù)組長(zhǎng)度為"+arr.length);
//arr數(shù)組長(zhǎng)度為3
//arr數(shù)組長(zhǎng)度為5
prototype 屬性使您有能力向?qū)ο筇砑訉傩院头椒ā?/strong>
function employee(name, job, born) {
this.name = name;
this.job = job;
this.born = born;
}
var bill = new employee("Bill Gates", "Engineer", 1985);
employee.prototype.salary = null;
bill.salary = 20000;
console.log(bill);
Array 對(duì)象方法
方法 | 描述 |
---|---|
concat() | 連接兩個(gè)或更多的數(shù)組,并返回結(jié)果林束。 |
join() | 把數(shù)組的所有元素放入一個(gè)字符串像棘。元素通過指定的分隔符進(jìn)行分隔。 |
pop() | 刪除并返回?cái)?shù)組的最后一個(gè)元素 |
push() | 向數(shù)組的末尾添加一個(gè)或更多元素壶冒,并返回新的長(zhǎng)度缕题。 |
reverse() | 顛倒數(shù)組中元素的順序。 |
shift() | 刪除并返回?cái)?shù)組的第一個(gè)元素 |
slice() | 從某個(gè)已有的數(shù)組返回選定的元素 |
sort() | 對(duì)數(shù)組的元素進(jìn)行排序 |
splice() | 刪除元素依痊,并向數(shù)組添加新元素避除。 |
toSource() | 返回該對(duì)象的源代碼怎披。 |
toString() | 把數(shù)組轉(zhuǎn)換為字符串,并返回結(jié)果瓶摆。 |
toLocaleString() | 把數(shù)組轉(zhuǎn)換為本地?cái)?shù)組凉逛,并返回結(jié)果。 |
unshift() | 向數(shù)組的開頭添加一個(gè)或更多元素群井,并返回新的長(zhǎng)度状飞。 |
valueOf() | 返回?cái)?shù)組對(duì)象的原始值 |
concat() 方法用于連接兩個(gè)或多個(gè)數(shù)組。
該方法不會(huì)改變現(xiàn)有的數(shù)組书斜,而僅僅會(huì)返回被連接數(shù)組的一個(gè)副本诬辈。
例子 1
var arr=[1,2,3];
console.log(arr.concat(4,5));
console.log(arr);
//該方法不會(huì)改變現(xiàn)有的數(shù)組,而僅僅會(huì)返回被連接數(shù)組的一個(gè)副本
例子 2
var arr=[1,2,3];
var arr2=["你","我","他"]
console.log(arr.concat(arr2));
//[1, 2, 3, "你", "我", "他"]
join() 方法用于把數(shù)組中的所有元素放入一個(gè)字符串荐吉。
元素是通過指定的分隔符進(jìn)行分隔的焙糟。
var arr=["你","我","他"]
console.log(arr.join());
//你,我,他
console.log(arr.join(" "));
//你 我 他
console.log(arr.join("-"));
//你-我-他
console.log(arr.join("_"));
//你_我_他
pop() 方法用于刪除并返回?cái)?shù)組的最后一個(gè)元素。
pop() 方法將刪除 arrayObject 的最后一個(gè)元素样屠,把數(shù)組長(zhǎng)度減 1穿撮,并且返回它刪除的元素的值。如果數(shù)組已經(jīng)為空痪欲,則 pop() 不改變數(shù)組悦穿,并返回 undefined 值。
//pop() 方法將刪除 arrayObject 的最后一個(gè)元素业踢,把數(shù)組長(zhǎng)度減 1栗柒,并且返回它刪除的元素的值。如果數(shù)組已經(jīng)為空知举,則 pop() 不改變數(shù)組瞬沦,并返回 undefined 值。
var arr=["你","我","他"];
console.log(arr);
//["你", "我", "他"]
console.log(arr.pop());
//他
console.log(arr);
//["你", "我"]
push() 方法可向數(shù)組的末尾添加一個(gè)或多個(gè)元素负蠕,并返回新的長(zhǎng)度蛙埂。
push() 方法可把它的參數(shù)順序添加到 arrayObject 的尾部。它直接修改 arrayObject遮糖,而不是創(chuàng)建一個(gè)新的數(shù)組绣的。push() 方法和 pop() 方法使用數(shù)組提供的先進(jìn)后出棧的功能。
//pop() 方法將刪除 arrayObject 的最后一個(gè)元素欲账,把數(shù)組長(zhǎng)度減 1屡江,并且返回它刪除的元素的值。如果數(shù)組已經(jīng)為空赛不,則 pop() 不改變數(shù)組惩嘉,并返回 undefined 值。
var arr = ["你", "我", "他"];
console.log(arr);//["你", "我", "他"]
console.log(arr.push("它"));// 4 返回長(zhǎng)度
console.log(arr);//修改了原先的數(shù)組 ["你", "我", "他", "它"]
reverse() 方法用于顛倒數(shù)組中元素的順序踢故。
該方法會(huì)改變?cè)瓉淼臄?shù)組文黎,而不會(huì)創(chuàng)建新的數(shù)組惹苗。
//該方法會(huì)改變?cè)瓉淼臄?shù)組,而不會(huì)創(chuàng)建新的數(shù)組耸峭。
var arr = ["a", "b", "c"];
console.log(arr);//["a", "b", "c"]
arr.reverse();
console.log(arr);//["c", "b", "a"]
shift() 方法用于把數(shù)組的第一個(gè)元素從其中刪除桩蓉,并返回第一個(gè)元素的值。
var arr = ["a", "b", "c"];
console.log(arr);//["a", "b", "c"]
console.log(arr.shift());//a
console.log(arr);//["b", "c"]
slice() 方法可從已有的數(shù)組中返回選定的元素劳闹。
語法
arrayObject.slice(start,end)
var arr = ["a", "b", "c"];
console.log(arr);//["a", "b", "c"]
console.log(arr.slice(1));//["b", "c"]
console.log(arr.slice(-1));//["c"]
console.log(arr.slice(0,1));//["a"]
console.log(arr);//["a", "b", "c"]
sort() 方法用于對(duì)數(shù)組的元素進(jìn)行排序院究。
function sortNumber(a,b)
{
return a - b
}
var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"
document.write(arr + "<br />")//10,5,40,25,1000,1
document.write(arr.sort(sortNumber))//1000,40,25,10,5,1
splice() 方法向/從數(shù)組中添加/刪除項(xiàng)目,然后返回被刪除的項(xiàng)目本涕。
注釋:該方法會(huì)改變?cè)紨?shù)組业汰。
語法
arrayObject.splice(index,howmany,item1,.....,itemX)
參數(shù) | 描述 |
---|---|
index | 必需。整數(shù)菩颖,規(guī)定添加/刪除項(xiàng)目的位置样漆,使用負(fù)數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。 |
howmany | 必需晦闰。要?jiǎng)h除的項(xiàng)目數(shù)量氛濒。如果設(shè)置為 0,則不會(huì)刪除項(xiàng)目鹅髓。 |
item1, ..., itemX | 可選。向數(shù)組添加的新項(xiàng)目京景。 |
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
document.write(arr + "<br />")//George,John,Thomas,James,Adrew,Martin
arr.splice(2,2,"黃","哈哈")
document.write(arr + "<br />")//George,John,黃,哈哈,Adrew,Martin
數(shù)組轉(zhuǎn)字符串 toString() 方法可把數(shù)組轉(zhuǎn)換為字符串窿冯,并返回結(jié)果。
var arr = ["aa","bb","cc"]
console.log(arr.toString())//aa,bb,cc
把數(shù)組轉(zhuǎn)換為本地字符串确徙。
var arr = ["aa","bb","cc"]
console.log(arr.toLocaleString());//aa,bb,cc
unshift() 方法可向數(shù)組的開頭添加一個(gè)或更多元素醒串,并返回新的長(zhǎng)度。
var arr = ["aa","bb","cc"]
console.log(arr);//["aa", "bb", "cc"]
console.log(arr.unshift("William"));// 4
console.log(arr);// ["William", "aa", "bb", "cc"]
valueOf() 方法返回 Array 對(duì)象的原始值鄙皇。
該原始值由 Array 對(duì)象派生的所有對(duì)象繼承芜赌。
valueOf() 方法通常由 JavaScript 在后臺(tái)自動(dòng)調(diào)用,并不顯式地出現(xiàn)在代碼中伴逸。
var arr = ["aa","bb","cc"]
console.log(arr);//["aa", "bb", "cc"]
console.log(arr.valueOf());//["aa", "bb", "cc"]
console.log(arr);//["aa", "bb", "cc"]