需要自动生成字母数字键

时间:2019-07-31 05:27:32

标签: javascript node.js

我必须用字母数字来创造价值。在这里我提到了我的功能。
*对此功能有疑问,有一个名为 category_no 的键。我已通过自动将该键递增。
预期格式:最小值:C0001,C0002,C0003,...,最大值:C9999。

   // Inserting New Category
    async function postCategory() {
        for (i = 0; i < categoryJson.length; i++) {
            categoryDefault = {};
            categoryDefault['category_no'] = 
            categoryDefault['category_overview'] = "No overview"
            categoryDefault['category_description'] = "No description"
            categoryDefault['category_created_date'] = new Date()
            categoryDefault['category_modified_date'] = new Date()
            const { error } = await 
           CategoryModel.validateNewCategory(categoryDefault)
            let mongodb = await MongoDB.connect("ecomm_prod_db_category");
            let result = await mongodb.insertOne(categoryDefault);
        };
    };

1 个答案:

答案 0 :(得分:2)

您可以按照以下方式创建函数来生成catagory_no,

使用String.prototype.padStart保留字符串5的长度并附加0

对于计数器,使用未命名的自调用函数将计数作为结束传递。

let catagory = (() => {
	count = 1;
	return () => {
		if(count < 9999) {
			return `C${(count++).toString().padStart(4, '0')}`
		} throw('Max Limit Reached')
	}
})();

console.log(catagory())
console.log(catagory())
console.log(catagory())