【问题标题】:JS convert to ASCII numbers and reverseJS转换为ASCII数字并反转
【发布时间】:2019-02-02 21:41:49
【问题描述】:

我坚持这一点,你能在 JavaScript 中提供帮助吗Alien message

允许的语言 JavaScript

你的任务是用某种外星语言翻译一条消息(我们称之为 Alienski)。

可以通过遵循简单的规则并使用两种已知语言(英语和西班牙语)创建消息。

Alienski 中的每个单词都是通过从英语和西班牙语中减去字母(绝对值)构成的,这就是结果字母。

有两种特殊情况。如果每个单词中的符号是“-”(连字符)或“”(空格),则必须以这种方式保留它。

不会同时出现“-”(连字符)和“”(空格)的情况。

如果其中一个单词的字母比另一个单词多,只需将较长单词中的字母添加到结果中。 例子: 复制

谈话 哈布拉尔

复制

a b c d.... 0 1 2 3....

t - h = | 19 - 7 | = 12 = m
a - a = | 0 - 0 | = 0 = a
l - b = | 11 - 1 | = 10 = k
k - l = | 10 - 11 | = 1 = b
empty - a = a

empty - r = r

Result:
    makbar

我坚持了 3 个小时。到目前为止,这是我的代码

let englishWord = 'talk'
let spanishWord = 'hablar'
let engToDigit = [];
let spnToDigit = [];
let alien = [];

for (var i = 0; i < englishWord.length; i++) {
    engToDigit.push(englishWord.charCodeAt(i))
}
for (var y = 0; y < spanishWord.length; y++) {
    spnToDigit.push(spanishWord.charCodeAt(y))
}
let result = engToDigit.map((a, i) => a - spnToDigit[i]);

for (let index = 0; index < result.length; index++) {
    result[index] += 97;




console.log(result);

【问题讨论】:

  • 你应该提到这是一个实际的任务。此外,您应该发布自己的尝试,并具体说明您遇到的问题、出现​​的位置以及您自己的想法,并提供您尝试过的代码。只有这样,人们才能帮助你。 Stackoverflow 不是一个编码服务,它是一个社区驱动的网站,旨在帮助那些陷入特定问题的人。
  • 书面问题的截图?您至少可以尝试复制粘贴。
  • 对不起,我是新来的
  • 好多了。请阅读stackoverflow.com/help/how-to-ask。您还需要明确说明您的输出与预期输出有何不同。请阅读帮助页面上的链接asking,然后完成编辑您的问题。届时,您的问题可能会通过内部审核流程以重新打开您的问题。你快到了:).. 欢迎来到 StackOverflow。一切顺利。

标签: javascript string


【解决方案1】:

听起来您需要的是分小步进行。首先,我将创建一个遍历字符串并将每个字母转换为其 ASCII 代码的函数。请尝试以下顺序:

  1. 检查代码是否为大写,然后获取数值。
  2. 确保 charCode 大于 96 且 charCode 小于 123
  3. 然后通过运行和
    将所有代码转换为其数值 在数组中收集:charCode - 97
  4. 如果代码是小写的,则获取数值。
  5. 确保 charCode 大于 64 且 charCode 小于 91。
  6. 然后通过在数组中运行和收集将所有代码转换为数值:charCode - 65
  7. 否则只需将值添加到数组中。
  8. 在上述循环之外返回一个被连接的数组。

当数组加入时,它将是一个类似“19,0,11,10,-,7,0,1,11,0,17”的字符串。

  1. 检查是否有空格或连字符。
  2. 然后您可以根据第 9 步的结果拆分数组。
  3. 然后在 "," 上拆分每个数组。
  4. 遍历每个数组并减去值。
  5. 通过添加 65 将值转换回来 - 因为此时无法知道字符是否为大写。
  6. 然后使用 String.fromCharCode(##) 将代码转换回不可读的外来词。

【讨论】:

    猜你喜欢
    • 2013-11-04
    • 1970-01-01
    • 1970-01-01
    • 2011-10-03
    • 2019-04-14
    • 2016-03-02
    • 1970-01-01
    • 2021-06-16
    • 1970-01-01
    相关资源
    最近更新 更多