符号化对象的键

创建一个新对象,将每个键转换为Symbol

  • 使用Object.keys()获取obj的键。
  • 使用Array.prototype.reduce()Symbol创建一个新对象,其中每个键都被转换为Symbol
const symbolizeKeys = obj =>
  Object.keys(obj).reduce(
    (acc, key) => ({ ...acc, [Symbol(key)]: obj[key] }),
    {}
  );

symbolizeKeys({ id: 10, name: 'apple' });
// { [Symbol(id)]: 10, [Symbol(name)]: 'apple' }