使用JAVASCRIPT生成增量ID

我想创建一个接受输入并在每次调用时返回递增的ID的函数。

就像是:

  function createId(input){
    let initialValue = 1
    let newId = `ID-${initialValue++}`
    return newId

因此,在此函数中,我将以“ xyz”,“ abc”等形式传递输入,并基于该输入返回ID。

喜欢: 如果我传递“ xyz”,则每次使用xyz调用函数时,它都应将newId返回为Id-1,Id-2,然后Id-3, 同样,每次使用“ abc”调用函数时,都应将newId返回为Id-1,Id-2,Id-3。

我无法根据给定的输入创建ID。 谢谢

评论
  • 后补情人
    后补情人 回复

    You can use session storage. Initially check if curr a key to session storage exists. If it exist then get it's value increment it , add it to id and update the value is session storage. If it does not exit then create a key and update it

    function createId(input){
       let newId;
       if(!sessionStorage.currId){
         sessionStorage.setItem('currId',1);
         newId = `ID-1`
        }
        else{
         const newIncrementedVal = parseInt(sessionStorage.currId,10)+1;
         newId = ID-${initialValue++}
        }
        return newId
    }
    
  • 波哩瓶
    波哩瓶 回复

    制作一个对象,该对象至今为止已使用特定字符串调用了该函数多少次:

    const inputCounts = {};
    function createId(input){
      inputCounts[input] = (inputCounts[input] || 0) + 1;
      return `ID-${inputCounts[input]}`;
    }
    console.log(createId('foo'));
    console.log(createId('foo'));
    console.log(createId('foo'));
    console.log(createId('bar'));