JavaScript Array 對象

創建 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>
Paste_Image.png

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);
Paste_Image.png

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);
//該方法不會改變現有的數組,而僅僅會返回被連接數組的一個副本
Paste_Image.png

例子 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"]

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容