JavaScript pluralize an english string

前端 未结 11 1040
南旧
南旧 2020-12-23 16:24

In PHP, I use Kuwamoto\'s class to pluralize nouns in my strings. I didn\'t find something as good as this script in javascript except for some plugins. So, it would be grea

11条回答
  •  南笙
    南笙 (楼主)
    2020-12-23 16:49

    Using @sarink's answer, I made a function to create a string using key value pairs data and pluralizing the keys. Here's the snippet:

    // Function to create a string from given key value pairs and pluralize keys
    const stringPluralize = function(data){
        var suffix = 's';
        var str = '';
        $.each(data, function(key, val){
            if(str != ''){
                str += val>0 ? ` and ${val} ${key}${val !== 1 ? suffix : ''}` : '';
            }
            else{
                str = val>0 ? `${val} ${key}${val !== 1 ? suffix : ''}` : '';
            }
        });
        return str;
    }
    var leftDays = '1';
    var leftHours = '12';
    var str = stringPluralize({day:leftDays, hour:leftHours});
    console.log(str) // Gives 1 day and 12 hours
    

提交回复
热议问题