JavaScript 中的特殊陣列


在本問題陳述中,我們的任務是展示 Javascript 程式設計中一些特殊陣列及其特徵的工作原理。在 Javascript 中,特殊陣列可能取決於給定的上下文。特殊陣列可以根據條件和上下文引用不同型別的陣列。有一些可能的解釋:型別化陣列、稀疏陣列和帶有字串鍵的陣列。

什麼是型別化陣列?

在 Javascript 中,有許多可用於型別化陣列物件的內建方法。這些陣列在上下文中是特殊的,因為它們表示其中特定型別資料的陣列。這些型別的陣列具有固定長度,並且還允許操作大量二進位制資料。型別化陣列的內建方法有 Int8Array、Int16Array、BigIntArray 等。

//typed array of 8-bit integers
const arr = new Int8Array(4);
// define values in the array with bracket notation
arr[0] = 11;
arr[1] = 12;
arr[2] = 13;
arr[3] = 14;

console.log(arr);
console.log(arr.length);

什麼是稀疏陣列?

在 Javascript 程式設計中,我們通常使用每個物件都有鍵的陣列。但是我們還有另一個稱為稀疏陣列的陣列,它可以用作帶有一些數字鍵的物件,但也可以建立缺少一些鍵的陣列。

// define an empty array for sparse array
const sprArr = [];
sprArr[0] = 'sparse1';
sprArr[1] = 'sparse2';
sprArr[3] = 'sparse3';
console.log(sprArr.length);
//print undefined element
console.log(sprArr[2]);
//print whole array
console.log(sprArr);

什麼是帶有字串鍵的陣列?

在 Javascript 中,陣列通常使用數字鍵定義,當我們訪問任何物件時,我們使用相應的鍵訪問它。但是,我們也可以在 Javascript 功能的幫助下定義非整數鍵。這在某些情況下可能很有用。

const obj = {
   'a': 'stringKey1',
   'b': 'stringKey2'
};
//array with string keys
const arrWithStringKey = [obj['a'], obj['b']];
console.log(arrWithStringKey);

時間複雜度

以上所有程式碼的時間複雜度在不同的輸入和輸出中是不同的。一些程式碼和行在 O(n) 時間內執行,但一些程式碼使用 O(1) 時間來完成執行。由於這些實現是非常基本的程式碼,用於理解 Javascript 中的特殊陣列,我們可以根據應用程式需求使用它們。

結論

正如我們所看到的,Javascript 中有不同型別的特殊陣列。我們學習了型別化陣列、稀疏陣列和帶有字串鍵的陣列。這些是根據用法而言的特殊陣列,與原始和預設陣列不同。

更新於:2023年5月18日

379 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.