【问题标题】:Retrieving values in an object in an array from local storage从本地存储中检索数组中对象中的值
【发布时间】:2016-08-02 11:31:07
【问题描述】:

我有 2 个网页。一个称为创建事件,另一个称为事件日历。在 Create An Event 中,表单用于允许用户输入。然后使用以下函数将输入存储到本地存储:

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

【问题讨论】:

    标签: javascript html arrays object


    【解决方案1】:

    索引使用[]的数组:

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

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

    console.log(entry.name);
    

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    • 1970-01-01
    相关资源
    最近更新 更多