当前位置:首页 > JavaScript

js 实现list

2026-03-13 19:08:07JavaScript

使用数组(Array)实现列表

JavaScript 中数组是最常用的列表实现方式,支持动态增删元素和多种操作方法。

// 创建列表
const list = [1, 2, 3];

// 添加元素
list.push(4); // 末尾添加
list.unshift(0); // 开头添加

// 删除元素
list.pop(); // 删除末尾
list.shift(); // 删除开头

// 访问元素
console.log(list[1]); // 输出: 2

// 遍历列表
list.forEach(item => console.log(item));

使用链表(Linked List)实现列表

链表适合频繁插入/删除的场景,以下是单向链表的实现示例:

class ListNode {
  constructor(value) {
    this.value = value;
    this.next = null;
  }
}

class LinkedList {
  constructor() {
    this.head = null;
    this.size = 0;
  }

  // 添加元素到末尾
  append(value) {
    const newNode = new ListNode(value);
    if (!this.head) {
      this.head = newNode;
    } else {
      let current = this.head;
      while (current.next) {
        current = current.next;
      }
      current.next = newNode;
    }
    this.size++;
  }

  // 删除指定值节点
  remove(value) {
    if (!this.head) return;

    if (this.head.value === value) {
      this.head = this.head.next;
      this.size--;
      return;
    }

    let current = this.head;
    while (current.next) {
      if (current.next.value === value) {
        current.next = current.next.next;
        this.size--;
        return;
      }
      current = current.next;
    }
  }
}

使用 ES6 的 Map/Set 实现特殊列表

当需要唯一值或键值对结构时:

// Set实现(值唯一)
const uniqueList = new Set();
uniqueList.add(1);
uniqueList.add(2);
uniqueList.add(1); // 会被忽略

// Map实现(键值对)
const kvList = new Map();
kvList.set('key1', 'value1');
kvList.set('key2', 'value2');

使用生成器实现可迭代列表

创建支持迭代协议的列表:

function* listGenerator() {
  yield 1;
  yield 2;
  yield 3;
}

const genList = listGenerator();
for (const item of genList) {
  console.log(item); // 依次输出1,2,3
}

使用 TypedArray 处理数值列表

处理二进制数据或类型化数组时:

js 实现list

// 创建包含10个元素的Int32数组
const typedList = new Int32Array(10);
typedList[0] = 42;
console.log(typedList.length); // 输出: 10

标签: jslist
分享给朋友:

相关文章

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

jquery js

jquery js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够更高…

js怎么实现异步

js怎么实现异步

异步实现方法 JavaScript中实现异步操作主要通过以下几种方式: Promise Promise是ES6引入的异步解决方案,用于处理异步操作的成功或失败状态。 const promise =…

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…

js实现下拉刷新

js实现下拉刷新

监听触摸事件 通过监听 touchstart、touchmove 和 touchend 事件来检测用户下拉手势。记录触摸起始位置和移动距离。 let startY = 0; let curr…