Skip to content
Related Articles

Related Articles

How to return the singular/plural form of word based on input number in JavaScript?
  • Last Updated : 31 Mar, 2021

In this article, we will learn how to return the singular or plural form of the word based on the input number. This can be used in situations where dynamically changing words are required based on the value. This can be achieved using two approaches.

Approach 1: Passing both the singular and plural versions of the word to the function. In this approach, a simple function could be created that takes in the singular and plural versions of the word along with the count value and returns the appropriate word depending on the count. We can use a ternary operator (?) to check the count required.

Syntax:

function pluralizeWord(singularWord, pluralWord, count) {
  return count > 1 ? pluralWord : singularWord;
}

Example 1:

HTML




<html>
<body>
  <h1 style="color: green;">
    GeeksforGeeks
  </h1>
  <b>
    How to return the singular or plural
    form of the word based on the input
    number in JavaScript?
  </b>
  <script>
  
    function pluralizeWord(singularWord, pluralWord, count) {
      return count > 1 ? pluralWord : singularWord;
    }
  
    console.log(1, pluralizeWord("geek", "geeks", 1));
    console.log(4, pluralizeWord("geek", "geeks", 4));
    console.log(4, pluralizeWord("spy", "spies", 4));
    console.log(1, pluralizeWord("man", "men", 1));
    console.log(4, pluralizeWord("man", "men", 4));
  </script>
</body>
</html>

Output:



1 "geek"
4 "geeks"
4 "spies"
1 "man"
4 "men"

Approach 2: Creating a dictionary of all the possible plural versions of the words. The above approach is inefficient if a lot of words are being repeated in the code. We can solve this by creating a dictionary of the plural values of the word and using this dictionary to choose the appropriate word after checking the count.

Syntax:

let pluralDict = {
      "geek": "geeks",
      "spy": "spies",
      "foot": "feet",
      "woman": "women"
    }


function pluralizeWord(singularWord, count) {
  return count > 1 ? pluralDict[singularWord] : singularWord;
}

Example 2:

HTML




<html>
<body>
  <h1 style="color: green;">
    GeeksforGeeks
  </h1>
  <b>
    How to return the singular or plural
    form of the word based on the input 
    number in JavaScript?
  </b>
  <script>
  
    // Define the dictionary with the
    // key-value pairs as the singular
    // and plural versions of the word
    let pluralDict = {
      "geek": "geeks",
      "spy": "spies",
      "foot": "feet",
      "woman": "women"
    }
  
    function pluralizeWord(singularWord, count) {
      return count > 1 ?
        pluralDict[singularWord] : singularWord;
    }
  
    console.log(4, pluralizeWord("geek", 4));
    console.log(1, pluralizeWord("geek", 1));
    console.log(4, pluralizeWord("spy", 4));
    console.log(1, pluralizeWord("woman", 1));
    console.log(4, pluralizeWord("foot", 4));
  </script>
</body>
</html>

Output:

 4 "geeks"
 1 "geek"
 4 "spies"
 1 "woman"
 4 "feet"
My Personal Notes arrow_drop_up
Recommended Articles
Page :