2014-10-30 135 views
0

你好家伙我有一个问题。我制作了一个日历,一切正常,但最后一项要求是通过localStorage添加日期。添加多个localStorage阵列到一个正常的阵列

所以我的问题:我如何添加更多日期而不覆盖第一个日期?
我正在考虑将数据取出,添加新的testObject,并将其放回localStorage。唯一的事情是我不知道该怎么做。

我希望有人能帮忙。 (我是一个初学者)

所以总之,我想把多个阵列放入events-阵列通过localStorage


这是我的代码:

<script language="JavaScript" type="text/javascript" > 
    testObject = ["Y", prompt("maand"), prompt("dag"), "2000", prompt("test"), prompt("test")] 
    retrievedObject = localStorage.getItem('testObject'); 

    // Put the object into storage 
    localStorage.setItem('testObject', JSON.stringify(testObject)) 



events = new Array(
      JSON.parse(retrievedObject), 
     ["Y", "1", "1", "2000",  "Nieuw jaars dag", "De eerste dag van het nieuw Jaar"], 
     ["Y", "7", "3", "2000",  "Mijn verjaardag", "beste dag van het jaar"], 
     ["Y", "17", "10", "2000",  "Inleverdag", "Ergste dag van het jaar."] 
    ); 
</script> 

编辑:以后我加2个阵列就应该像这样工作,但上2个值应被检索的形式本地存储,如果我再添一个它应该在本地存储中是3个数组。但本地存储覆盖本身每次所以此刻我只能加1阵列

events = new Array(
     ["Y", "1", "2", "2000",  "test", "test"], 

     ["Y", "2", "4", "2000",  "test2", "test3"], 
     ["Y", "1", "1", "2000",  "Nieuw jaars dag", "De eerste dag van het nieuw Jaar"], 
     ["Y", "7", "3", "2000",  "Mijn verjaardag", "beste dag van het jaar"], 
     ["Y", "17", "10", "2000",  "Inleverdag", "Ergste dag van het jaar."] 
    ); 
+0

什么期待'events'的价值是什么?你能编辑问题并输出你想看到的计算值吗? – Sukima 2014-10-30 23:03:06

+0

我在上面放了一个编辑,我想看看。 – 2014-10-31 13:32:15

回答

1

我觉得困惑是在你的措辞,你问如何将数据添加到一个数组,但你所提供的代码示例根本不要做任何加法。

我想你以后的是Array.prototype.pushArray.prototype.concat

在努力展示和例子,我会让你做以下假设:

// Helper to easily create a new test object 
function buildTestObject() { 
    return [ 
    'Y', 
    prompt('maand'), 
    prompt('dag'), 
    '2000', 
    prompt('test'), 
    prompt('test') 
    ]; 
} 

// Pull in the old value from localStorage 
var retrievedObject = localStorage.getItem('testObjects') || '[]'; 

try { 
    // Turn JSON into JS Object 
    retrievedObject = JSON.parse(retrievedObject); 
} catch (e) { 
    retrievedObject = []; 
} 

// Actually add a testObject to the array which will be stored in localStorage 
retrievedObject.push(buildTestObject()); 

// Save the now mutated array of testObjects back into localStorage 
localStorage.setItem('testObject', JSON.stringify(retrievedObject)) 

var events = retrievedObject.concat(
    ["Y", "1", "1", "2000",  "Nieuw jaars dag", "De eerste dag van het nieuw Jaar"], 
    ["Y", "7", "3", "2000",  "Mijn verjaardag", "beste dag van het jaar"], 
    ["Y", "17", "10", "2000",  "Inleverdag", "Ergste dag van het jaar."] 
); 
+0

这可以帮助很多只有一个问题已经在列表中的事件停止工作任何想法为什么? – 2014-10-31 20:06:08

+0

我修好了谢谢谢谢!因为你我完成了学校的课程 – 2014-10-31 20:23:45