繁体   English   中英

从本地存储中检索数组中对象的值

[英]Retrieving values in an object in an array from local storage

我有2个网页。 一个称为“创建事件”,另一个称为“事件日历”。 在“创建事件”中,使用表单来允许用户输入。 然后使用以下功能将输入存储到本地存储中:

document.addEventListener("DOMContentLoaded", docIsReady);
var CreateEvent;

function docIsReady() {
    CreateEvent = localStorage.getItem("CreateEvent");
    if (CreateEvent == null) {
        CreateEvent = [];
    } else {
        CreateEvent = JSON.parse(CreateEvent);
    }
}

function saveToStorage() {
    var one;
    var nameofevent = document.getElementById("name").value;
    var pList = document.getElementsByName("pos");
    var positions = [];
    for (i = 0; i < pList.length; i++) {
        positions.push(pList[i].value);
        console.log(pList[i].value);
    }
    //for (i=0; i<positions.length; i++){
    //console.log(positions[i].value);
    //}
    var venue = document.getElementById("venue").value;
    var date = document.getElementById("date").value;
    var starttime = document.getElementById("timeStart").value;
    var endtime = document.getElementById("timeEnd").value;
    var contact = document.getElementById("contact").value;
    var email = document.getElementById("email").value;
    var desc = document.getElementById("desc").value;
    one = {
        "name": nameofevent,
        "pos": positions,
        "venue": venue,
        "date": date,
        "timeStart": starttime,
        "timeEnd": endtime,
        "contact": contact,
        "email": email,
        "desc": desc
    };
    CreateEvent.push(one);
    localStorage.setItem("CreateEvent", JSON.stringify(CreateEvent));
    return false;
}

我创建了一个CreateEvent数组,以便存储多个输入,因为不能仅创建一个事件。 现在,我需要在“事件日历”上的表格中显示事件的名称。 作为日历,事件将按月份排序。 但是,我不知道如何访问数组中存储的每个对象中的“日期”和“名称”值。 如何检索对象中的值?

您可以使用[] 索引到数组中:

var entry = CreateEvent[0]; // 0 = the first entry

...然后使用该对象的属性:

console.log(entry.name);

旁注:您可以在自己的代码中随意执行任何操作,但是FWIW, CreateEvent是此数组的不寻常名称,其原因有两个:1.它以大写字母开头,而在JavaScript中,压倒性的约定是用于数据的以小写字母开头的变量。 2.这是一个动词短语(“创建事件”),但是它的值是一个名词 (事件的数组)。 通常,列表和数组使用其包含的名称来命名,可以是复数形式,也可以使用后缀,如listarray 因此,在这种情况下, eventseventListeventArray会更标准。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM