Pry*_*cer 2 javascript for-loop
我想在本地存储中添加60件东西.在for循环中,我正在创建一个对象,将其转换为字符串并将其添加到localstorage,并将时间作为键.
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));
}
}
Run Code Online (Sandbox Code Playgroud)
逻辑规定这应该发生60次.在实践中,它发生在大约2到20次之间,并且给予对象属性的i的值变化很大.有时我得到2的值为11和59,有时我得到18,数字从1到59或60.这个for循环不会迭代多少次,但它甚至没有按顺序执行,它似乎是随机的.
这里发生了什么?
Tra*_*s J 10
您遇到了重叠时间的问题,因此未插入重复项.这将分离重复项.您可以选择不同的实现或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));
}
}
Run Code Online (Sandbox Code Playgroud)