一致する日付が見つかったネストされた配列の「タイトル」を取得しようとしていますが、役に立ちません。
配列内に日付が見つかった場合は、"TRUE" というアラートが表示されます。日付は一致するか、日付範囲内にある必要があります。それが見つかったら、それが見つかったネストされた配列の「タイトル」を取得したいと思います。(つまり、日付「2013/10/29」が「Person 2」の下で一致することがわかりました。そのタイトルも言いたいです。
現在、ネストされた両方の配列をループして、日付の一致を確認しています。最終的に、彼らはより多くの人と時間になるでしょう。配列内で時間が 2 回表示されることはありません。これは、Web ページでその時間に誰が利用可能かを表示するために使用されます。データベースの方がはるかに優れた方法ですが、これはメインフレーム上にあり、DB2 に結び付けられることはありません。
それについてもっと簡単な方法があれば、私もすべて耳にします。
var data = []
var data = [
{title:'Person 1',contents:[
{primary:"7/09/2013"},{primary:"7/22/2013"},{primary:"10/15/2013"},{primary:"10/28/2013"},{primary:"1/21/2014"},{primary:"2/03/2014"}]},
{title:'Person 2',contents:[
{primary:"7/23/2013"},{primary:"8/05/2013"},{primary:"10/29/2013"},{primary:"11/11/2013"},{primary:"2/04/2014"},{primary:"2/17/2014"}]
}
];
Array.prototype.between = function(arg) {
for(var i=0, j=data.length; i < j; i++){
for(var p=0, plen=data[i].contents.length; p < plen; p++){
var d1 = new Date(data[i].contents[0].primary),
d2 = new Date(data[i].contents[1].primary),
d4 = new Date(data[i].contents[2].primary),
d5 = new Date(data[i].contents[3].primary),
d3 = new Date(arg);
}
//alert(data[i].title); //Using "data[i].title" will grab both titles but I only need one.
}
return ((d1.getTime() <= d3.getTime() && d3.getTime() <= d2.getTime()) || (d4.getTime() <= d3.getTime() && d3.getTime() <= d5.getTime()));
}
alert(data.between("10/29/2013"));
そしてフィドル...