1. 程式人生 > >cocos2d-js中陣列基本知識點

cocos2d-js中陣列基本知識點

陣列是物件的特殊形式。所有的陣列都是物件。

1.稀疏陣列就是包含從0開始的不連續索引的陣列。如果陣列是稀疏的,length屬性值大於元素的個數。

unshift()方法是在陣列的首部插入一個元素。push()方法是依次往陣列中新增元素。splice()方法是從start位置開始刪除

deleteCount項元素,並從該位置起插入var1,var2,... : splice(start,deleteCount,val1,val2,...)

示例:

var arr = []
arr.push(1)		   // arr [1]
arr.push(3,2)	           // arr [1,3,2]
arr.unshift(5,6)	   // arr [5,6,1,3,2]
arr.splice(0,0,11,12,13)   // arr [11,12,13,5,6,1,3,2]

2.delete不會修改陣列的length屬性,刪除後的陣列會變成稀疏陣列。pop()是刪除陣列中的最後一個元素,減少陣列的長度並返回刪除後的陣列。shift()方法和unshift()方法對立,shift()方法是刪除陣列第一個元素。

示例:

var arr = [1,2,3,4,5]
arr = []
arr.length = 3;		//   arr [1,2,3] 不常用
var s = arr.shift()	//  s 1     arr [2,3,4,5]
var s = arr.pop()	//  s 5     arr [1,2,3,4]
arr.splice(1,100,11,12,13)      //  arr [1,11,12,13]
splice(start,deleteCount,val1,val2,...):從start位置開始刪除deleteCount項,並從該位置起插入val1,val2,... 

3.join()將陣列中的所有元素都轉化為字串並連線在一起,返回最後生成的字串。
示例:

var arr = [1,2];
var s = arr.join()  //s "1,2"

4.reverse()是將陣列中的元素顛倒順序,返回逆序的陣列。

示例:

var arr = [1,2];
var s1 = arr.reverse();  //s1  [2,1]

5.sort()方法是將陣列中的元素排序並返回排序後的陣列。如果陣列中包含undefined元素,它們會被排到陣列的尾部。
示例:

var arr = [9,6,3,5,9,58,7,4];
arr.sort();             	
cc.log(arr);                 // arr [3,4,5,58,6,7,9,9]
arr.sort(function(a, b){		
   if(a > b)
      return 1;
   else
      return -1;
});
cc.log(arr);                // arr [3,4,5,6,7,9,9,58]

6.concat()是拼接兩個陣列,並且返回這兩個陣列拼接完成後的新的陣列。

示例:

var arr1 = [1,2];
var arr2 = [2,3,4];
var arr3 = arr1.concat(arr2);
cc.log(arr3);                 // arr3 [1,2,2,3,4]

7.slice()是返回指定陣列的一個片段或者子陣列。它的兩個引數分別指定了片段開始和結束的位置。如果引數出現負數,它表示相對於陣列中最後一個元素的位置。slice()不會修改呼叫的陣列。

示例:

var arr = [1,2,3,4,5,6,7,8,9]
var a = arr.slice(3,5)	       // a [4,5]    arr 原來未動

8.slice()方法還有一個作用,它不帶引數時便表示把指定陣列元素全部返回,這樣就起到了一個類似複製的作用。

示例:

var arr1 = [1,2,3,4,5,6,7,8,9];
var arr2 = arr1.slice();      // arr2 [1,2,3,4,5,6,7,8,9]    arr1 原來未動