Numbers and operands to words in JavaScript


Problem

We are required to write a JavaScript function that takes in a string of some mathematical operation and return its literal wording.

Example

Following is the code −

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));

Output

Five Minus Eight

Updated on: 17-Apr-2021

108 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements