JavaScript 中的数字和操作数转文字


问题

我们需要编写一个 JavaScript 函数,用于输入一个数学运算符字符串,并返回其文字表达形式。

示例

代码如下 −

const str = '5 - 8';
const convertToWords = (str = '') => {
   const o = {
      "+" : "Plus",
      "-" : "Minus",
      "*" : "Times",
      "/" : "Divided By",
      "**" : "To The Power Of",
      "=" : "Equals",
      "!=" : "Does Not Equal",
   }
   const n = {
      1 : "One",
      2 : "Two",
      3 : "Three",
      4 : "Four",
      5 : "Five",
      6 : "Six",
      7 : "Seven",
      8 : "Eight",
      9 : "Nine",
      10 : "Ten",
   }
   let t = str.split(' ')
   let y = ''
   let c = 0
   for (const [key, value] of Object.entries(o)) {
      if(key !== t[1])
      c++;
   }
   if(c === Object.keys(o).length) return "That\'s not an operator!"
   for (const [key, value] of Object.entries(n)) {
      if(key === t[0])
         y += `${value} `
   }
   for (const [key, value] of Object.entries(o)) {
      if(key === t[1])
         y += `${value}`
   }
   for (const [key, value] of Object.entries(n)) {
      if(key === t[2])
      y += ` ${value}`
   }
   return y;
}
console.log(convertToWords(str));

输出

Five Minus Eight

更新于: 2021 年 4 月 17 日

128 次浏览

开启你的 职业生涯

通过完成课程获取认证

开始
广告