首页 > 解决方案 > 使用 JAVASCRIPT 生成增量 ID

问题描述

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

就像是:

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

所以在这个函数中,我会将输入作为“xyz”、“abc”等传递,基于它应该返回一个 Id。

喜欢: 如果我传递'xyz',那么它应该返回newId作为Id-1,然后是Id-2,然后是Id-3,每次用xyz调用函数时,同样,每次用'abc'调用函数时它应该返回newId作为Id-1,Id-2,Id-3。

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

标签: javascript

解决方案


创建一个对象,该对象计算到目前为止使用特定字符串调用函数的次数:

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


推荐阅读