如何将当前日期动态添加到对象的新实例并将其推送到数组
How to dynamically add current date to a new instance of an object and push it to an array
我已经设置了一个函数来以我想要的格式获取当前日期和时间:
function date(){
var d = new Date();
var minutes = d.getMinutes();
var month = d.getMonth() +1;
if(minutes<10){
return (d.getDate() + "/" + month + "/" + d.getFullYear() + " " + d.getHours() + ":" + "0" + minutes);
}else{
return (d.getDate() + "/" + month + "/" + d.getFullYear() + " " + d.getHours() + ":" + minutes);}
}
我创建了一个Object
,该采用(amount,date,type)
值。 如何设置它,以便对于对象的每个新实例,函数date()
自动生成日期值,以便在将其推送到数组movements
添加时间戳时?
这是我的代码:
var movements =[];
//transactions
var initialBalance = new Transaction(1000,"date","cash");
var addIn = new Transaction(500,"date","cash");
var addOut = new Transaction(-300,"date","card");
//add the transactions to the movements array
movements.unshift(initialBalance);
movements.push(addIn);
movements.push(addOut);
我想用纯JS来做这件事。
也许将date
函数添加到对象中
var Transaction = function(amount, type) {
this.date = (function() {
var d = new Date();
var minutes = d.getMinutes();
var month = d.getMonth() +1;
if (minutes<10) {
return (d.getDate() + "/" + month + "/" + d.getFullYear() + " " + d.getHours() + ":" + "0" + minutes);
} else {
return (d.getDate() + "/" + month + "/" + d.getFullYear() + " " + d.getHours() + ":" + minutes);
}
})();
// now deal with amount and type...
}
创建对象后,该函数将自行评估。
您可以覆盖数组上的推送...
var movements = [];
movements.push = function(transaction) {
transaction.date = date();
return Array.push(transaction);
};
按照您当前设置它的方式,您只需将"date"
替换为对date()
的函数调用:
//transactions
var initialBalance = new Transaction(1000,date(),"cash");
var addIn = new Transaction(500,date(),"cash");
var addOut = new Transaction(-300,date(),"card");
但是,正如其他人所建议的那样,可能有更好的方法来做你想做的事情。
相关文章:
- 如何在用户输入时实例化数组
- 如何基于数组值创建新实例
- 将新类实例中的数据存储在数组中
- 基于分隔符/方括号的实例创建数组
- 如何在不选择模式配置参数的情况下,使用mongoose在MongoDB模式实例化中的关联数组/对象中执行foreach
- 在数组中的每个对象上调用实例函数
- 如何在猫鼬.js子文档数组中定义实例方法
- 如何将当前日期动态添加到对象的新实例并将其推送到数组
- 像PHP一样使用json数组“水合”Javascript对象实例
- 是否可以在 ES6 Set 实例上使用数组迭代方法
- 计算 js 数组中重复实例的数量
- MyQuery 错误地将数组标识为实例
- 如何在使用数据表时替换Knockout中的数组实例
- 为什么是对象的数组实例
- Javascript-查找属性的单个实例's在对象数组中的值
- 如何实例化和获取多维数组/矩阵的长度
- node.js中类实例之间的共享数组
- 在Javascript中,如何制作具有可实例化的自定义行为的数组
- 使用Knockout.js计数数组中的实例
- 对象实例的数组长度大于提供的参数