当前位置:首页 > JavaScript

js实现字典

2026-03-14 16:53:00JavaScript

实现字典的常见方法

在JavaScript中,字典通常通过对象(Object)或Map数据结构实现。以下是几种实现方式:

使用普通对象

普通对象是JavaScript中最简单的字典实现方式,键值对存储。

js实现字典

const dictionary = {
  "key1": "value1",
  "key2": "value2"
};

// 添加元素
dictionary["key3"] = "value3";

// 访问元素
console.log(dictionary["key1"]); // 输出: value1

// 删除元素
delete dictionary["key2"];

使用Map对象

Map是ES6引入的专门用于键值对存储的数据结构,相比普通对象有更多优势。

const dictionary = new Map();

// 添加元素
dictionary.set("key1", "value1");
dictionary.set("key2", "value2");

// 访问元素
console.log(dictionary.get("key1")); // 输出: value1

// 删除元素
dictionary.delete("key2");

// 检查是否存在
console.log(dictionary.has("key1")); // true

使用WeakMap

WeakMap与Map类似,但键必须是对象,且不可枚举。

js实现字典

const dictionary = new WeakMap();
const keyObj = {};

dictionary.set(keyObj, "value1");
console.log(dictionary.get(keyObj)); // 输出: value1

字典操作示例

遍历字典

对于普通对象:

const dict = {a:1, b:2, c:3};

for (const key in dict) {
  console.log(key, dict[key]);
}

对于Map:

const dict = new Map([['a',1], ['b',2]]);

dict.forEach((value, key) => {
  console.log(key, value);
});

清空字典

// 对象
const objDict = {a:1};
objDict = {}; // 或
for (const key in objDict) {
  delete objDict[key];
}

// Map
const mapDict = new Map();
mapDict.clear();

选择建议

  • 需要简单键值存储时使用普通对象
  • 需要维护键值对的插入顺序时使用Map
  • 键需要是非字符串类型时使用Map
  • 需要避免内存泄漏时考虑WeakMap

标签: 字典js
分享给朋友:

相关文章

vue实现js休眠

vue实现js休眠

Vue 中实现 JavaScript 休眠 在 Vue 中实现 JavaScript 休眠通常需要使用异步方式,以避免阻塞主线程。以下是几种常见方法: 使用 setTimeout 和 Pro…

js实现轮播图

js实现轮播图

基础轮播图实现 使用HTML、CSS和JavaScript实现一个简单的自动轮播图。HTML结构包含一个容器和多个图片项。 <div class="slider"> <div…

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选框…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…