JavaScript配列でeach
JavaScriptは拡張性の高い言語ということで、標準オブジェクトを自分で拡張して、
便利に使うことができます。
例えば、Rubyの配列で使用できるeachみたいなものも、自分で作ることができました。
以下のページを参考にさせていただきました。
IT Pro - Part3 JavaScriptに学ぶ「言語の拡張性」
/* Arrayオブジェクトにeachメソッドを追加する */ Array.prototype.each = function(func) { for (var i =0; i < this.length; i ++) { func(this[i]); } };
ということで、自分でも拡張してみました。
Dateオブジェクトに月の日数取得メソッドと、次月と前月を取得するメソッドを追加してみました。
/* 月の日数を取得 */ Date.prototype.getMonthEndDay = function() { var dt = new Date(this.getFullYear(), this.getMonth(), 0); return dt.getDate(); }; /* 次月を取得 */ Date.prototype.nextMonth = function() { var after_year = this.getFullYear(); var after_month = this.getMonth() + 1; if( after_month >= 13 ){ after_year++; after_month = 1; } return { year: after_year, month: after_month } }; /* 前月を取得 */ Date.prototype.prevMonth = function() { var after_year = this.getFullYear(); var after_month = this.getMonth() - 1; if( after_month <= 0 ){ after_year--; after_month = 12; } return { year: after_year, month: after_month } };