当前位置:首页 > JavaScript

js 实现列表

2026-02-02 08:56:43JavaScript

使用数组创建列表

在JavaScript中,数组是最常用的列表实现方式。数组提供了一系列方法用于操作元素,如添加、删除、遍历等。

const list = [1, 2, 3, 4, 5];
list.push(6); // 添加元素到末尾
list.pop();   // 移除末尾元素
list.unshift(0); // 添加元素到开头
list.shift();    // 移除开头元素

使用链表实现列表

链表是一种动态数据结构,适合频繁插入和删除的场景。以下是单向链表的简单实现:

js 实现列表

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

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

  add(value) {
    const node = new ListNode(value);
    if (!this.head) {
      this.head = node;
    } else {
      let current = this.head;
      while (current.next) {
        current = current.next;
      }
      current.next = node;
    }
    this.size++;
  }
}

使用Map或Set实现特殊列表

对于需要唯一值或键值对的场景,可以使用ES6的Set或Map:

// 唯一值列表
const uniqueList = new Set();
uniqueList.add(1);
uniqueList.add(2);
uniqueList.add(1); // 重复值不会被添加

// 键值对列表
const keyValueList = new Map();
keyValueList.set('key1', 'value1');
keyValueList.set('key2', 'value2');

使用ArrayBuffer处理二进制列表

当需要处理二进制数据时,可以使用ArrayBuffer和类型数组:

js 实现列表

const buffer = new ArrayBuffer(16); // 16字节的缓冲区
const int32View = new Int32Array(buffer); // 32位整数视图
int32View[0] = 42;

实现可迭代列表

通过实现迭代器协议,可以创建自定义可迭代列表:

class CustomList {
  constructor() {
    this.items = [];
  }

  [Symbol.iterator]() {
    let index = 0;
    return {
      next: () => {
        if (index < this.items.length) {
          return { value: this.items[index++], done: false };
        }
        return { done: true };
      }
    };
  }
}

使用生成器创建惰性列表

生成器可以用于创建按需计算的惰性列表:

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

const sequence = generateSequence();
for (let value of sequence) {
  console.log(value);
}

标签: 列表js
分享给朋友:

相关文章

vue实现列表

vue实现列表

实现列表的基本方法 在Vue中实现列表通常使用v-for指令,这是Vue的核心功能之一。v-for可以遍历数组或对象,为每个元素生成对应的DOM节点。 <template> <…

vue实现js休眠

vue实现js休眠

实现 JavaScript 休眠的方法 在 Vue 中实现 JavaScript 休眠(延迟执行)可以通过以下方式实现。由于 JavaScript 本身没有内置的 sleep 函数,通常使用 Prom…

js实现 功能

js实现 功能

在 JavaScript 中实现功能通常涉及多个关键步骤,具体取决于功能需求。以下是常见功能的实现方法和示例: 基本功能实现 使用函数封装逻辑是最直接的方式。例如,实现一个计算两数之和的函数: f…

js实现 拖动

js实现 拖动

实现拖动的步骤 HTML 结构 创建一个可拖动的元素和一个放置区域: <div id="draggable" draggable="true">拖动我</div> <d…

js实现保存图片

js实现保存图片

使用Canvas绘制并保存图片 在HTML中创建一个Canvas元素,通过JavaScript绘制内容后转换为图片并保存。Canvas的toDataURL方法可将画布内容转为Base64编码的图片数据…

vue实现图片列表

vue实现图片列表

实现图片列表的基本方法 在Vue中实现图片列表可以通过v-for指令遍历图片数据数组,结合<img>标签动态绑定src属性。以下是基本实现步骤: <template> &…