陣列深入研究

2022-04-22 08:23:30 字數 2756 閱讀 7569

一:稀疏陣列

稀疏素組就是包含從0個開始的不連續陣列。通常,陣列的length屬性值代表陣列中元素的個數。如果陣列是稀疏,length屬性值大於素數的個數。可以用array(),建構函式或簡單地指定陣列的索引值大於當前的陣列長度來建立稀疏陣列。

注意:當在陣列直接量中省略值時不會建立稀疏陣列。省略的元素在陣列中是存在的。其值為undefined。這和陣列元素根本不存在是有一些微妙的區別的。

二:陣列元素的新增和刪除

1:為新索引賦值

2:利用push()方法在陣列的末尾新增乙個或多個元素

var a =;

a[0] = "qian";

a[1] = "wei";

a.push("ke");

for(var i=0;i)

3:可以像刪除物件屬性一樣使用delete運算子來刪除陣列元素

var a =;

a[0] = "qian";

a[1] = "wei";

a.push("ke");

delete a[2];

for(var i=0;i)

注意:對乙個陣列元素使用delete不會修改陣列的length屬性,也不會講元素從高度索引處一下來填充。如果從陣列中刪除乙個元素,他就會變成稀疏陣列。

三:陣列的遍歷

1:for迴圈遍歷

var a =;

a[0] = "qian";

a[1] = "wei";

a.push("ke");

for(var i=0;i)

2:for/in迴圈處理稀疏陣列。迴圈每次將乙個可以列舉的屬性名(包括索引)賦值給迴圈變數。不存在的索引不會被遍歷到

var

xvar mycars =;

mycars[0] = "寶馬"mycars[1] = "賓士"mycars[3] = "賓利"

for (x in

mycars)

四:ecmascript 5 中的陣列方法

1:foreach() 方法用於呼叫陣列的每個元素,並將元素傳遞給**函式。

.foreach(function

(value, index, array) );

var data = [1,2,3,4];

var sum = 0;

data.foreach(function (t) );

console.log(sum);/*10*/

2:map()方法將呼叫的陣列的每個元素傳遞給指定的函式,並返回乙個陣列

var data = [1,2,3,4];

var sum = 0;

sum = data.map(function

(value) );

for(var i=0;i)

3:filter()方法返回的事陣列的乙個子集,傳遞的函式用來做判定。

var data = [1,2,3,4,5,6];

var sum = 0;

sum = data.filter(function

(value) );

for(var i=0;i)

4:every()和some()都是陣列的邏輯判定,他們對陣列元素應用指定的函式進行判定,返回true或者false。

every()對應的是「針對所有」,當且僅當陣列中的所有元素呼叫判定函式返回true。

var data = [1,2,3,4,5,6];

var sum = 0;

sum = data.every(function

(value) );

console.log(sum);

/*false

*/

some()對應是「存在」,當陣列元素至少有乙個元素呼叫判定函式返回true,他就2返回true

var data = [1,2,3,4,5,6];

var sum = 0;

sum = data.some(function

(value) );

console.log(sum);

/*true

*/

5:reduce()需要兩個引數,第乙個是執行化簡操作的函式,第二個是初始值。

var data = [1,2,3,4,5,6];

var sum = 0;

sum = data.reduce(function

(x,y) ,0);

console.log(sum);

/*21

*/

6:reduceright()需要兩個引數,第乙個是執行化簡操作的函式,第二個是初始值。計算順序是從右到左。

var data = [1,2,3,4,5,6];

var sum = 0;

sum = data.reduceright(function

(x,y) ,1);

console.log(sum);

/*720

*/

flex Bindable深入研究

bindable 元資料標籤,它在 中的作用就是向編譯器提供如何編譯程式的資訊。它的最大作用是使程式元件間的資料同步變得容易。在開發中通常用上bindable作用在檢視控制項上,如給它繫結乙個物件,則以後只需要在邏輯層更改這個物件的值,則檢視層的控制項資料會自動更新 同步 而不再需要手動去更新檢視。...

URLRequest深入研究

urlrequest 的乙個例項 html view plain copy create the request.所構建的nsurlrequest具有乙個依賴於快取響應的特定策略,cachepolicy取得策略,timeoutinterval取得超時值 nsurlrequest therequest...

深入研究AsyncTask

asynctask提供了一種在後台執行操作而在ui執行緒顯示結果的方式,而且開發者不必操作執行緒或者handler.乙個asynctask定義了三種泛型分別是params,progress,result,還有四個函式分別是onpreexecute doinbackground onprogressu...