typescript K:来自字符串列表的V.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了typescript K:来自字符串列表的V.相关的知识,希望对你有一定的参考价值。

/** Utility function to create a K:V from a list of strings */
function strEnum<T extends string>(o: Array<T>): {[K in T]: K} {
  return o.reduce((res, key) => {
    res[key] = key;
    return res;
  }, Object.create(null));
}


/**
  * Sample create a string enum
  */

/** Create a K:V */
const Direction = strEnum([
  'North',
  'South',
  'East',
  'West'
])
/** Create a Type */
type Direction = keyof typeof Direction;

/** 
  * Sample using a string enum
  */
let sample: Direction;

sample = Direction.North; // Okay
sample = 'North'; // Okay
sample = 'AnythingElse'; // ERROR!

以上是关于typescript K:来自字符串列表的V.的主要内容,如果未能解决你的问题,请参考以下文章

[CF1292D]Chaotic V.

题解CF1292D Chaotic V.

TypeScript:来自字符串联合文字数组类型,不允许数组中存在任何冗余值

Typescript - 在字符串的开头和结尾删除多个字符/获取列表 JSON 元素的属性

计算机英语词汇汇总

reinterpret