gpt4 book ai didi

javascript - 循环(将项目存储在集合中)似乎迭代次数少于应有的次数?

转载 作者:行者123 更新时间:2023-12-04 01:51:49 26 4
gpt4 key购买 nike

我想向 localstorage 添加 60 个东西。在 for 循环中,我正在创建一个对象,将其转换为字符串并将其添加到本地存储,并将时间作为键。

function populate()
{
for(var i=0; i < 60; i++)
{
var newDate = new Date();
var card = {
'name': i,
'cost': i,
'type': i,
'text': i,
'power': i,
'toughness': i};
localStorage.setItem(newDate.getTime(), JSON.stringify(card));
}
}

按照逻辑,这应该发生 60 次。实际上,它发生了大约 2 到 20 次,并且赋予对象属性的 i 值变化很大。有时我得到 2,值为 11 和 59,有时我得到 18,数字从 1 到 59 或 60。这个 for 循环没有按应有的次数迭代,但它甚至没有按顺序执行,它似乎是随机的。

这是怎么回事?

最佳答案

您遇到了时间重叠的问题,因此不会插入重复项。这将分离重复项。您可以选择不同的实现或 GUID,由您自行决定。

function populate()
{
for(var i=0; i < 60; i++)
{
var newDate = new Date();
var card = {
'name': i,
'cost': i,
'type': i,
'text': i,
'power': i,
'toughness': i};
localStorage.setItem("" + i + newDate.getTime(), JSON.stringify(card));
}
}

关于javascript - 循环(将项目存储在集合中)似乎迭代次数少于应有的次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10132336/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com