創建 Array 對象的語法:
new Array();
new Array(size);
new Array(element0, element1, ..., elementn);
參數
參數 size 是期望的數組元素個數。返回的數組,length 字段將被設為 size 的值。
參數 element ..., elementn 是參數列表。當使用這些參數來調用構造函數 Array() 時,新創建的數組的元素就會被初始化為這些值。它的 length 字段也會被設置為參數的個數。
<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 對象屬性
屬性 | 描述 |
---|---|
constructor | 返回對創建此對象的數組函數的引用。 |
length | 設置或返回數組中元素的數目。 |
prototype | 使您有能力向對象添加屬性和方法。 |
constructor 屬性返回對創建此對象的數組函數的引用。
例子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 屬性可設置或返回數組中元素的數目。
var arr=new Array(3);
arr[0]="你";
arr[1]="我";
arr[2]="他";
console.log("arr數組長度為"+arr.length);
arr.length=5;
console.log("arr數組長度為"+arr.length);
//arr數組長度為3
//arr數組長度為5
prototype 屬性使您有能力向對象添加屬性和方法。
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 對象方法
方法 | 描述 |
---|---|
concat() | 連接兩個或更多的數組,并返回結果。 |
join() | 把數組的所有元素放入一個字符串。元素通過指定的分隔符進行分隔。 |
pop() | 刪除并返回數組的最后一個元素 |
push() | 向數組的末尾添加一個或更多元素,并返回新的長度。 |
reverse() | 顛倒數組中元素的順序。 |
shift() | 刪除并返回數組的第一個元素 |
slice() | 從某個已有的數組返回選定的元素 |
sort() | 對數組的元素進行排序 |
splice() | 刪除元素,并向數組添加新元素。 |
toSource() | 返回該對象的源代碼。 |
toString() | 把數組轉換為字符串,并返回結果。 |
toLocaleString() | 把數組轉換為本地數組,并返回結果。 |
unshift() | 向數組的開頭添加一個或更多元素,并返回新的長度。 |
valueOf() | 返回數組對象的原始值 |
concat() 方法用于連接兩個或多個數組。
該方法不會改變現有的數組,而僅僅會返回被連接數組的一個副本。
例子 1
var arr=[1,2,3];
console.log(arr.concat(4,5));
console.log(arr);
//該方法不會改變現有的數組,而僅僅會返回被連接數組的一個副本
例子 2
var arr=[1,2,3];
var arr2=["你","我","他"]
console.log(arr.concat(arr2));
//[1, 2, 3, "你", "我", "他"]
join() 方法用于把數組中的所有元素放入一個字符串。
元素是通過指定的分隔符進行分隔的。
var arr=["你","我","他"]
console.log(arr.join());
//你,我,他
console.log(arr.join(" "));
//你 我 他
console.log(arr.join("-"));
//你-我-他
console.log(arr.join("_"));
//你_我_他
pop() 方法用于刪除并返回數組的最后一個元素。
pop() 方法將刪除 arrayObject 的最后一個元素,把數組長度減 1,并且返回它刪除的元素的值。如果數組已經為空,則 pop() 不改變數組,并返回 undefined 值。
//pop() 方法將刪除 arrayObject 的最后一個元素,把數組長度減 1,并且返回它刪除的元素的值。如果數組已經為空,則 pop() 不改變數組,并返回 undefined 值。
var arr=["你","我","他"];
console.log(arr);
//["你", "我", "他"]
console.log(arr.pop());
//他
console.log(arr);
//["你", "我"]
push() 方法可向數組的末尾添加一個或多個元素,并返回新的長度。
push() 方法可把它的參數順序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是創建一個新的數組。push() 方法和 pop() 方法使用數組提供的先進后出棧的功能。
//pop() 方法將刪除 arrayObject 的最后一個元素,把數組長度減 1,并且返回它刪除的元素的值。如果數組已經為空,則 pop() 不改變數組,并返回 undefined 值。
var arr = ["你", "我", "他"];
console.log(arr);//["你", "我", "他"]
console.log(arr.push("它"));// 4 返回長度
console.log(arr);//修改了原先的數組 ["你", "我", "他", "它"]
reverse() 方法用于顛倒數組中元素的順序。
該方法會改變原來的數組,而不會創建新的數組。
//該方法會改變原來的數組,而不會創建新的數組。
var arr = ["a", "b", "c"];
console.log(arr);//["a", "b", "c"]
arr.reverse();
console.log(arr);//["c", "b", "a"]
shift() 方法用于把數組的第一個元素從其中刪除,并返回第一個元素的值。
var arr = ["a", "b", "c"];
console.log(arr);//["a", "b", "c"]
console.log(arr.shift());//a
console.log(arr);//["b", "c"]
slice() 方法可從已有的數組中返回選定的元素。
語法
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() 方法用于對數組的元素進行排序。
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() 方法向/從數組中添加/刪除項目,然后返回被刪除的項目。
注釋:該方法會改變原始數組。
語法
arrayObject.splice(index,howmany,item1,.....,itemX)
參數 | 描述 |
---|---|
index | 必需。整數,規定添加/刪除項目的位置,使用負數可從數組結尾處規定位置。 |
howmany | 必需。要刪除的項目數量。如果設置為 0,則不會刪除項目。 |
item1, ..., itemX | 可選。向數組添加的新項目。 |
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
數組轉字符串 toString() 方法可把數組轉換為字符串,并返回結果。
var arr = ["aa","bb","cc"]
console.log(arr.toString())//aa,bb,cc
把數組轉換為本地字符串。
var arr = ["aa","bb","cc"]
console.log(arr.toLocaleString());//aa,bb,cc
unshift() 方法可向數組的開頭添加一個或更多元素,并返回新的長度。
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 對象的原始值。
該原始值由 Array 對象派生的所有對象繼承。
valueOf() 方法通常由 JavaScript 在后臺自動調用,并不顯式地出現在代碼中。
var arr = ["aa","bb","cc"]
console.log(arr);//["aa", "bb", "cc"]
console.log(arr.valueOf());//["aa", "bb", "cc"]
console.log(arr);//["aa", "bb", "cc"]