js字典赋值实现
字典赋值的基本方法
在JavaScript中,字典通常用对象(Object)或Map实现。对象是最常见的方式,键值对通过属性名和属性值表示。
使用对象字面量直接赋值:
const dict = {
key1: 'value1',
key2: 'value2'
};
动态添加属性:
const dict = {};
dict.key3 = 'value3';
dict['key4'] = 'value4'; // 方括号允许使用动态键名
使用Map对象实现字典
Map对象提供更完善的字典功能,键可以是任意类型:
const map = new Map();
map.set('name', 'Alice');
map.set(1, 'number key');
批量初始化Map:
const map = new Map([
['key1', 'value1'],
[2, 'value2']
]);
动态键名处理
当键名需要动态生成时,方括号语法非常有用:
const dynamicKey = 'id_' + Date.now();
const dict = {
[dynamicKey]: 'dynamic value'
};
合并多个字典
使用扩展运算符合并对象:
const dict1 = { a: 1 };
const dict2 = { b: 2 };
const merged = { ...dict1, ...dict2 };
Map合并需要通过循环实现:
const map1 = new Map([['a', 1]]);
const map2 = new Map([['b', 2]]);
const mergedMap = new Map([...map1, ...map2]);
多层嵌套字典
处理嵌套字典结构时需逐层赋值:
const nestedDict = {
level1: {
level2: {
value: 'deep'
}
}
};
nestedDict.level1.level2.newKey = 'new value';
字典赋值的注意事项
属性访问方式差异:
- 点运算符
obj.key要求键名是合法标识符 - 方括号
obj['key']支持任意字符串键名
Map与Object的区别:
- Map保持插入顺序,Object不保证
- Map可直接获取大小(map.size),Object需要手动计算
- Map的键可以是任意类型,Object的键只能是字符串或Symbol







