1. 程式人生 > 實用技巧 >TypeScript Array型別

TypeScript Array型別

Array 型別即陣列型別,表示一組相同型別元素的有序集合。

陣列型別的語法如下:

// Array 型別語法
let array_name[:datatype];          //宣告
array_name = [val1,val2,valn...];   //初始化
// 在宣告時初始化
let array_name[:datatype] = [val1,val2,...];
var array_name[:datatype] = new Array([size]);
var array_name[:datatype] = new Array(val1,val2,...);

Array 型別是通過字面量方式和 new Array() 方式建立例項,通過下標(索引)方式訪問與賦值。

// Array 型別例項
var sites: string[];
sites = ["Apple", "Banana", "Pear"]
console.log(sites[0]);
console.log(sites[1]);

var nums: number[] = [101, 102, 103]
console.log(nums[0]);
console.log(nums[1]);
console.log(nums[2]);

var nums: number[] = new Array(3)
nums[0] = 1;
nums[1] = 2;
nums[2] = 3;

Array 型別例項解構與迭代程式碼:

// 陣列解構
let arr: number[] = [12, 13]
let [x, y] = arr // 將陣列的兩個元素賦值給變數 x 和 y
console.log(x)
console.log(y)

// 陣列迭代
var j: any;
var nums: number[] = [1001, 1002, 1003, 1004]
for (j in nums) {
    console.log(nums[j])
}

Array 型別二維陣列例項:

// 二維陣列
var multi: number[][] = [[1, 2, 3], [23, 24, 25]]
console.log(multi[0][0])
console.log(multi[0][1])
console.log(multi[0][2])
console.log(multi[1][0])
console.log(multi[1][1])
console.log(multi[1][2])

Array 型別例項方法列表:

concat()        // 連線兩個或更多的陣列,並返回結果
every()         // 檢測數值元素的每個元素是否都符合條件
some()          // 檢測陣列元素中是否有元素符合指定條件
forEach()       // 陣列每個元素都執行一次回撥函式
indexOf()       // 搜尋陣列中的元素,並返回它所在的位置
lastIndexOf()   // 返回一個指定的字串值最後出現的位置
join()          // 把陣列的所有元素放入一個字串
map()           // 通過指定函式處理陣列的每個元素,並返回處理後的陣列
filter()        // 檢測數值元素,並返回符合條件所有元素的陣列
pop()           // 刪除陣列的最後一個元素並返回刪除的元素
push()          // 向陣列的末尾新增一個或更多元素,並返回新的長度
reduce()        // 將陣列元素計算為一個值(從左到右)
reduceRight()   // 將陣列元素計算為一個值(從右到左)
reverse()       // 反轉陣列的元素順序
shift()         // 刪除並返回陣列的第一個元素
unshift()       // 向陣列的開頭新增一個或更多元素,並返回新的長度

Array 型別例項程式碼:

// Array 型別例項
let arr: number[] = [1, 2, 3];
arr.concat(4, 5, 6);        // => [1,2,3,4,5,6]
arr.every(i => i > 0)       // => true
arr.some(i => i < 2)        // => true
arr.filter(i => i <= 2)     // => [1,2]
arr.map(i => i + 1)         // => [2,3,4]
arr.pop()                   // => 3
arr.pop()                   // => 2
arr.push(2)                 // [1,2]
arr.push(3)                 // [1,2,3]
arr.unshift(0)              // [0,1,2,3]
arr.shift()                 // [1,2,3]
arr.slice(0, 2)             // => [1,2]
arr.slice(-2)               // => [2,3]
arr.splice(3, 0, 4, 5, 6)   // [1,2,3,4,5,6]
arr.sort((a, b) => b - a)   // [6,5,4,3,2,1]
arr.reverse()               // [1,2,3,4,5,6]