You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何给localStorage的三个不同键分配同一个随机生成的ID

问题原因

你当前的写法每次给存储键拼接后缀时都调用了一次ID(),这个函数每次执行都会生成全新的随机字符串,所以三个存储键自然会得到三个不同的ID后缀。

解决方法

只调用一次ID(),将生成的ID值提前存到一个变量中,三个存储键拼接后缀时都复用这个变量即可。

修改后代码

var ID = function () {
  return "_" + Math.random().toString(36).substr(2, 9);
};

let user_name = document.getElementById("username");
let user_paswrd = document.getElementById("password");
let user_email = document.getElementById("email");

let store_data = () => {
  // 仅生成一次ID,后续全量复用
  const sharedId = ID();
  localStorage.setItem("username_nr" + sharedId, user_name.value);
  localStorage.setItem("password" + sharedId, user_paswrd.value);
  localStorage.setItem("email" + sharedId, user_email.value);
};

补充说明

后续需要读取同一名用户的三条关联数据时,只要留存对应的sharedId值,就能直接匹配到三个对应的存储键,不需要额外做数据关联。

内容的提问来源于stack exchange,提问作者InsaneSuperSand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 01:27:00