テストコードなので、ファイル読み込み部分とかは無い。
//func
//------------------------------
Array.prototype.isLast = function () {
return !(this.readIdx < this.length);
}Array.prototype.read = function () {
var retVal = this[this.readIdx];
this.readIdx++;return retVal;
}function mergeCL(eList1, eList2) {
var mergeList = [];eList1.readIdx = 0;
eList2.readIdx = 0;while (eList1.isLast() == false || eList2.isLast() == false) {
if (eList1[eList1.readIdx]) date1 = eList1[eList1.readIdx].date; else date1 = new Date("1980/1/1");
if (eList2[eList2.readIdx]) date2 = eList2[eList2.readIdx].date; else date2 = new Date("1980/1/1");if (date1 >= date2) {
mergeList.push(eList1.read());
} else {
mergeList.push(eList2.read());
}
}return mergeList;
}//data
//------------------------------
elist1 = [
{date: new Date("2007/3/10"), title: "t1-10"},
{date: new Date("2007/3/10"), title: "t1-10-2"},
{date: new Date("2007/3/8"), title: "t1-8"},
{date: new Date("2007/3/7"), title: "t1-7"}
];elist2 = [
{date: new Date("2007/3/11"), title: "t2-11"},
{date: new Date("2007/3/10"), title: "t2-10"},
{date: new Date("2007/3/9"), title: "t2-9"},
{date: new Date("2007/3/5"), title: "t2-5"}
];//main
//------------------------------
var result = mergeCL(elist1, elist2);str="";
for (var i=0; i