You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JS实现字符串转vaporwave字体时如何保留未定义映射的原字符?

问题修复方案

核心原因是当font对象中不存在对应字符的键时,直接取值会返回undefined,拼接后就会出现你遇到的无效字符问题,只需要在map返回逻辑中增加兜底判断,找不到对应映射时直接返回原字符即可。

基础修改方案

const vapour = string.split('').map(letter => {
  // 存在映射返回映射值,不存在则返回原字符
  return font[letter] || letter;
}).join('');

更严谨的兼容方案

如果你的font映射中可能存在空字符串、0这类falsy类型的有效值,可以用空值合并运算符避免误判:

const vapour = string.split('').map(letter => {
  return font[letter] ?? letter;
}).join('');

大小写兼容优化

你当前的font对象只定义了大写字母的映射,如果需要支持小写字母输入自动匹配大写映射,可以修改为:

const vapour = string.split('').map(letter => {
  return font[letter.toUpperCase()] || letter;
}).join('');

内容的提问来源于stack exchange,提问作者Dyoferzn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 16:30:01