1. 程式人生 > >js物件array學習

js物件array學習

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() 返回陣列物件的原始值 一般不呼叫