在对象中保存动态数据?

时间:2017-05-09 15:33:45

标签: javascript object row

我有一个简单的时间输入表单,请参阅此处:https://codepen.io/dikuw/pen/rmpozm

我希望在用户添加,修改和删除行时动态存储时间数据,并且思考对象是最好的方法。

我的问题是什么是最佳做法?我应该创建一个构造函数,例如

function TimesheetRecord(id, TSDate, TSStaffId, Hours, Comments, TSTaskId, Billable) {
    this.id = id;
    this.TSDate = TSDate;
    this.TSStaffId = TSStaffId;
    this.Hours = Hours;
    this.Comments = Comments;
    this.TSTaskId = TSTaskId;
    this.Billable = Billable;
}

然后每次用户添加一行时动态创建一个新对象?如果我这样做,我怎么知道有多少物体?

1 个答案:

答案 0 :(得分:1)

在这里,您可以创建一个数组来存储所有TimesheetRecords,并在创建新动态对象时推送它。

// When app starts (dataFromDB is data fetched from db if any)
const TimesheetRecords = dataFromDB || []

// create a new record(mainly in a function)
const TimesheetRecord = {
   id: id,
   TSDate: TSDate,
   TSStaffId: TSStaffId,
   Hours: Hours,
   Comments: Comments,
   TSTaskId: TSTaskId,
   Billable: Billable
}

// store to db (ajax) and then push to array
TimesheetRecords.push(TimesheetRecord)

// Check how many records are there
const count = TimesheetRecords.length

这是在JavaScript中存储没有任何行为(方法)的简单对象的常见模式。