当前位置: 首页 > news >正文

德州做名片的网站机械产品网络推广怎么做

德州做名片的网站,机械产品网络推广怎么做,户外led广告投放价格,单县菏泽网站建设历史小剧场 这个世界上#xff0c;有两种人最痛苦#xff0c;第一种是身居高位者#xff0c;第二种是身居底层者#xff0c;第一种人很少#xff0c;第二种人很多。第一种人叫崇祯#xff0c;第二种人叫百姓。 而最幸福的#xff0c;就是中间那拨人#xff0c;主要工作…历史小剧场 这个世界上有两种人最痛苦第一种是身居高位者第二种是身居底层者第一种人很少第二种人很多。第一种人叫崇祯第二种人叫百姓。 而最幸福的就是中间那拨人主要工作叫做欺上瞒下具体特点是除了好事什么都办除了脸什么都要。—《明朝那些事儿》 字符串模板与extends/infer extends: 有两个作用1、接口继承2、类型判断这篇文章主要是体现这个作用;infer: 推导泛型参数只在extends右边使用 案例 type str beyond;// 获开头 type getFirstT T extends ${infer First}${infer Rest}? First : never; type FirstLetter getFirststr; // type FirstLetter b// 获取除开头的部分 type getRestT T extends ${infer First}${infer Rest} ? Rest : never; type RestLetters getReststr; // type RestLetters eyond// 以y分隔 type SplitT T extends ${infer Front}y${infer Back} ? Back : never; type Splitted Splitstr; // type Splitted ond判断开头 type startsWidthstr extends string, prefix extends string str extends ${prefix}${infer Rest} ? true : false; type startsWidthKong startsWidthkong, ; // type startsWidthKong true type StartsWithBe startsWidthstr, be; //type StartsWithBe true type StartsWithC startsWidthstr, c; // type StartsWithC false转为首字母大写 type UppercaseFirstT extends string T extends ${infer First}${infer Rest} ? ${UppercaseFirst}${Rest} : never; type UppercaseStr UppercaseFirststr; // type UppercaseStr Beyond文本替换-替换第一个 type ReplaceOnestr extends string, from extends string, to extends string str extends ${infer Front}${from}${infer Rest} ? ${Front}${to}${Rest} : str; type ReplaceStr ReplaceOnestr, o, a; // type ReplaceStr beyand键值对转索引 a1 {a:1} type ConvertStrToRecordstr extends string str extends ${infer key}${infer value} ? { [k in key]: value } : never; type ConvertStrToRecordStr ConvertStrToRecorda1; // type ConvertStrToIndexStr {// a: 1; // }as 重映射-索引的重命名 索引转大写 interface IOut {aaa: 1,bbb: 2,fun: () void } type UpperKeysT extends Recordstring, any {[K in keyof T as (T[K] extends Function ? K : UppercaseK)]: T[K] } type res UpperKeysIOut; // type res { // AAA: 1; // BBB: 2; // fun: () void; // }合并索引 interface IOut2 {ccc: 3,ddd: 4 } type CombineIndexA extends Recordstring, any, B extends Recordstring, any {[K in keyof A | keyof B] : K extends keyof A ? A[K] : K extends keyof B ? B[K] : never } type combine CombineIndexIOut, IOut2; // type combine { // aaa: 1; // bbb: 2; // fun: () void; // ccc: 3; // ddd: 4; // }巧用递归 文本替换-替换所有 type ReplaceAllStr extends string, From extends string, To extends string Str extends ${infer Front}${From}${infer Rest} ? ${Front}${To}${ReplaceAllRest, From, To} : Str; type ReplaceAllStr ReplaceAll12333333456, 3, A; // type ReplaceAllStr 12AAAAAA456字符串反转 type ReverseStr extends string, Res extends string Str extends ${infer First}${infer Rest} ? ReverseRest, ${First}${Res} : Res; type ReverseStr Reversehello; // type ReverseStr olleh综合 字符串解析-初级 例如我们要将 a1b2c3 转为 {a:1, b:2, c:3} 那么我们要有按这三步走 分割取 键值对 处理处理单个的 键值对 转换为 索引类型把 转换后的 索引类型 合并 type ParseStr extends string, Res extends Recordstring, any {} Str extends ${infer One}${infer Rest} ?ParseRest, CombineIndexRes, ConvertStrToRecordOne :CombineIndexRes, ConvertStrToRecordStrtype parseToRecord Parsea1b2c3; // type parseToRecord {a: 1, b: 2, c: 3}字符串解析-升级 如果只有键没有值则返回 {key: true};合并重复索引。例如 a1a2 转为 {a: [‘1’, ‘2’]};合并的值不能重复。例如 a1a2a2 转为 {a: [‘1’, ‘2’]}; type ConvertStrToRecordUpStr extends string Str extends ${infer Key}${infer Value} ? { [K in Key] : Value } : Str extends ${infer Key} ? { [K in Key]: true } : {}; type ConvertStrToRecordUpStr ConvertStrToRecordUpa; // type ConvertStrToRecordUpStr { // a: true; // }// 合并重复索引 type CheckDuplicateA extends Recordstring, any, B extends Recordstring, any keyof B extends keyof A ? AddRA, B : CombineIndexA, B; type AddRA extends Recordstring, any, B extends Recordstring, any {[K in keyof A] : K extends keyof B ?CheckInclueA[K], B[K] extends true ? A[K] : // 重复索引合并值值不能重复A[K] extends any[] ? [...A[K], B[K]] : [A[K], B[K]] : A[K] }type CheckInclueA extends any[], B extends string A extends [infer First, ...infer Rest] ? First extends B ? true : CheckInclueRest, B : false; type checkIncludeDemo CheckInclue[a, b, c], a; // type checkIncludeDemo truetype ParseUpStr extends string, Res extends Recordstring, any {} Str extends ${infer One}${infer Rest} ?ParseUpRest, CheckDuplicateRes, ConvertStrToRecordUpOne :CheckDuplicateRes, ConvertStrToRecordUpStrtype parseToRecordUp ParseUpa1ba2a3cd4ee10a3; // type parseToRecordUp { // b: true; // c: true; // a: [1, 2, 3]; // e: [true, 10]; // d: 4; // }
http://www.hkea.cn/news/14393260/

相关文章:

  • 公司外文网站制作广广东网站建设
  • 南京我爱我家网站建设新村二手房建设工程教育网app
  • 中国移动网站备案管理系统不能用中国软件公司
  • 做网站 就上微赞网浙江省长兴县建设局网站
  • 建网站平台要多少钱潍坊做网站的企业
  • 网站建设项目投资测算桥下网站制作哪家好
  • 建网站软件 优帮云苏州有做网站的公司吗
  • 网站建设 沈阳一些网站是用什么颜色做的
  • 松原公司做网站的流程站长工具seo综合查询降级
  • 在本地做的网站怎么修改域名信息网站方案
  • php做购物网站详情页的代码做h5网站的公司
  • 密云做网站的文件外链
  • 社区网站 租用服务器还是只需要购买空间长沙网络开发公司
  • 做网站后有人抢注关键词网站开发流程视频
  • 一个网站的上线流程哪个网站做轴承外贸的人比较多
  • 官网设计报价鹤壁网站优化
  • html网站开发实战教程曰本免费一级a做爰视频网站
  • 网站建设费用都选网络营销型网站建设比较好
  • 免费黄页网站做物品租赁网站
  • 威海教育行业网站建设灯光设计师培训
  • 网站seo主管招聘WordPress优化手机端
  • 外贸和网站制作wordpress外观
  • 衡水高端网站建设上饶哪里做网站
  • 辽宁鞍山网站建设网站制作蒙特
  • 深圳网站建设制作开发公司成都筑巢网站建设
  • 米拓建站下载官方网站
  • 上海知名 网站设计公司wordpress 完美搬家
  • 安徽公司招聘网站南通网站建设有限公司
  • 哈尔滨企业自助建站贵阳网站制作企业
  • 郑州网站建设熊掌号工业设计参考网站