JavaScript中數(shù)據(jù)結(jié)構(gòu)

JavaScript支持多種數(shù)據(jù)結(jié)構(gòu),這些數(shù)據(jù)結(jié)構(gòu)可以幫助你在程序中組織和存儲數(shù)據(jù)。以下是一些常見的JavaScript數(shù)據(jù)結(jié)構(gòu):

  1. 數(shù)組 (Array):

    • 數(shù)組是一種有序的集合,可以通過索引訪問元素。
    • 示例:
      let myArray = [1, 2, 3, 4, 5];
      
  2. 對象 (Object):

    • 對象是一種無序的鍵值對集合,用于表示和存儲實(shí)體的屬性。
    • 示例:
      let person = {
        name: 'John',
        age: 30,
        city: 'New York'
      };
      
  3. 棧 (Stack):

    • 棧是一種后進(jìn)先出(Last In, First Out,LIFO)的數(shù)據(jù)結(jié)構(gòu)。
    • 示例:
      let stack = [];
      stack.push(1);
      stack.push(2);
      stack.pop(); // 移除并返回最后一個(gè)元素
      
  4. 隊(duì)列 (Queue):

    • 隊(duì)列是一種先進(jìn)先出(First In, First Out,F(xiàn)IFO)的數(shù)據(jù)結(jié)構(gòu)。
    • 示例:
      let queue = [];
      queue.push(1);
      queue.push(2);
      queue.shift(); // 移除并返回第一個(gè)元素
      
  5. 鏈表 (Linked List):

    • 鏈表是一種線性數(shù)據(jù)結(jié)構(gòu),由節(jié)點(diǎn)組成,每個(gè)節(jié)點(diǎn)包含數(shù)據(jù)和指向下一個(gè)節(jié)點(diǎn)的引用。
    • 示例:
      class Node {
        constructor(data, next = null) {
          this.data = data;
          this.next = next;
        }
      }
      
      let linkedList = new Node(1, new Node(2, new Node(3)));
      
  6. 集合 (Set):

    • 集合是一種無序且不包含重復(fù)元素的數(shù)據(jù)結(jié)構(gòu)。
    • 示例:
      let mySet = new Set();
      mySet.add(1);
      mySet.add(2);
      mySet.add(1); // 重復(fù)的元素不會被添加
      
  7. 映射 (Map):

    • 映射是一種鍵值對的集合,其中鍵是唯一的。
    • 示例:
      let myMap = new Map();
      myMap.set('name', 'John');
      myMap.set('age', 30);
      
  8. 樹 (Tree):

    • 樹是一種分層數(shù)據(jù)結(jié)構(gòu),由節(jié)點(diǎn)組成,每個(gè)節(jié)點(diǎn)可以有零個(gè)或多個(gè)子節(jié)點(diǎn)。
    • 示例: 二叉搜索樹 (Binary Search Tree, BST)
      class TreeNode {
        constructor(value) {
          this.value = value;
          this.left = null;
          this.right = null;
        }
      }
      
      let root = new TreeNode(10);
      root.left = new TreeNode(5);
      root.right = new TreeNode(15);
      

這只是JavaScript中一些常見的數(shù)據(jù)結(jié)構(gòu),實(shí)際上,JavaScript還支持其他更高級的數(shù)據(jù)結(jié)構(gòu),例如 WeakMap、WeakSet、TypedArray 等。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容