js物件array學習
阿新 • • 發佈:2018-12-08
new Array();
new Array(size);
new Array(element0, element1, ..., elementn);
三種建立方法
使用new不是用new的結果是完全一樣的。
不存在C或者C++中的指標。
我們試一下第一個
var data = new Array();
console.log(data.length)
這個就是執行結果。
然後我們試一下第二個構造方法。
var data = new Array(5);
console.log(data.length)
5
第三種
var data = new Array(5,1); console.log(data.length) 2
三個屬性。
constructor 返回對建立此物件的陣列函式的引用。
案例:
案例一 var data = new Array(5,1); console.log(data.constructor) 輸出 ƒ Array() { [native code] } 案例二 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); 輸出 ƒ employee(name,job,born) { this.name=name; this.job=job; this.born=born; } 案例三 var test=new Array(); if (test.constructor==Array) { console.log("This is an Array"); } if (test.constructor==Boolean) { console.log("This is a Boolean"); } if (test.constructor==Date) { console.log("This is a Date"); } if (test.constructor==String) { console.log("This is a String"); } 輸出 This is an Array
length 設定或返回陣列中元素的數目。
var ss = Array();
console.log(ss.length);
ss.length=5;
console.log(ss.length)
0
5
我們可以通過這個屬性獲取大小並且設定大小。
prototype 使您有能力向物件新增屬性和方法。
employee.prototype.salary=null;
bill.salary=20000;
console.log(bill.salary);
給某個物件動態新增屬性,這個屬性只屬於這個物件。
2000
方法 | 描述 | 案例 |
---|---|---|
concat() | 連線兩個或更多的陣列,並返回結果。 | 元素和迭代型別都可以,元素新增末尾,迭代就遍歷新增。 |
join() | 把陣列的所有元素放入一個字串。元素通過指定的分隔符進行分隔。 | 類比於python中的 "".join(),用分割符連線輸出,比如python裡面print的預設分割符是空格 |
pop() | 刪除並返回陣列的最後一個元素 | |
push() | 向陣列的末尾新增一個或更多元素,並返回新的長度。 | 一個或多個,改變長度 |
reverse() | 顛倒陣列中元素的順序。 | |
shift() | 刪除並返回陣列的第一個元素 | |
slice() | 從某個已有的陣列返回選定的元素 | 可以是負數 |
sort() | 對陣列的元素進行排序 | 支援回撥,必須是方法,類比C裡面 qsort 方法。 |
splice() | 刪除元素,並向陣列新增新元素。 | s plus lice。新增0或多個,index,howmany,elements... |
toSource() | 返回該物件的原始碼。 | |
toString() | 把陣列轉換為字串,並返回結果。 | |
toLocaleString() | 把陣列轉換為本地陣列,並返回結果。 | |
unshift() | 向陣列的開頭新增一個或更多元素,並返回新的長度。 | |
valueOf() | 返回陣列物件的原始值 | 一般不呼叫 |