Symbol是ES6中引入的一个基本数据类型, 它表示独一无二的值.
如果一个对象中要用到两个相同的属性, 那么可以使用Symbol定义它.
场景举例:
我们要用一个对象来保存所有用户的名字和分数, 用户的名字是可以重复的.
数据结构:
let info = [{'用户名': '用户的分数'}...]
模拟数据:
let info = [
{'小明': 99},
{'小明': 88},
{'kjiasd': 8},
{'jdlakx': 23},
{'佳佳': 33},
]
将模拟数据转化为对象键值对的形式, 使用Symbol作为对象的键名:
// key 代表每一项的键名, 即小明,佳佳...
let obj = {};
function setData(info){
info.forEach(v => {
let key = Object.keys(v)[0];
let k = Symbol(key);
obj[k] = v[key];
});
};
setData(info);
控制台输出obj是这样的形式:
版权声明:本文为Jingwen_molo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。