javascript - 地图的 Discord.js 问题
问题描述
我为这样存储一些数据
client.data = new Map()
client.data.set("001", {
content: "test"
})
有没有一种可能的方法来生成地图中不存在的从 001 到 999 的数字?
例如我有这样的地图
Map(2) { '002' => { content: 'test' }, '001' => { content: 'test' } }
我希望生成的数字为 003,因为我尝试过使用 001 和 002:
const data = Array.from(client.orders.keys())
const nums = [];
let i = 1;
while (i < 999) {
if (!data.includes(i)) {
nums.push(`${i}`.padStart(3, '0'));
}
i++;
}
nums[0]
但nums[0]
给出地图中已经存在的 001
解决方案
为字符串做这件事"001"
有点困难。
我假设您将其用作整数。喜欢:
let Data = new Map();
Data.set(1, { content: "Beep boop" });
现在我们应该能够做到这一点
let AddElement = (DataMap, Value) => {
for(let a = 0; a < 999; a++){
let dummy = DataMap.get(a);
if(!dummy){ //If no value for a -- The key dosen't exist
DataMap.set(a, Value); //Setting new value because the key is unique
break; //Stop the loop to avoid repeated data
//We can also use return since it's a function
}
}
}
现在我们可以在任何地方调用该函数。
为了测试让我们使用这个例子
let Data = new Map();
Data.set(1, { content: "Beep boop" });
//^^^Old code
AddElement(Data, { content: "PP Poo Poo" });
如果您遇到任何错误,请发表评论
推荐阅读
- elixir - 如何在 Elixir/Phoenix 中的多个并发请求之间共享结果?
- android - 如何在 key.propreties 中使用当前用户主目录
- reactjs - React - 传递没有值的道具
- python - 我的客户端程序使用 python socket api 只接受来自服务器的一个字节
- javascript - 如何在 Django 模板中调用 javaScript 函数?
- php - 如何在 PHP 中实现一个接受字符串参数并返回 JSON 格式的方法
- typescript - 打字稿编译器中的对象速记语法
- azure - Azure 门户 - 认知服务监控问题
- android - 我无法在 smack android 的 MessageListener 方法中接收离线消息
- phpstorm - 如何去除 PhpStorm 中突出显示的紫色“重复代码片段”?