久しぶりに JavaScript のコードに取り組まなければならなかったので、すっかりさびれてしまいました。
次のように配列を分割する必要があります。
物体 (
[0] => 2013 年 4 月 12 日
[1] => テキスト
[2] => テキスト
[3] => テキスト
[4] => テキスト
[5] => 2013 年 4 月 11 日
[6] => テキスト
[7] => テキスト
[8] => テキスト
[9] => テキスト
[10] => テキスト
[11] => テキスト
[12] => 2013-04-10
[13] => テキスト
[14] => テキスト
[15] => テキスト
[16] => テキスト
[17] => 2013-04-09
[18] => テキスト
[19] => テキスト
[20] => テキスト
)
インデックス 0 が常に日付である json オブジェクトまたは配列に変換します。
オブジェクト0 (
[0] => 2013 年 4 月 12 日
[1] => テキスト
[2] => テキスト
[3] => テキスト
[4] => テキスト
)
オブジェクト1 (
[0] => 2013 年 4 月 11 日
[1] => テキスト
[2] => テキスト
[3] => テキスト
[4] => テキスト
[5] => テキスト
[6] => テキスト
)
オブジェクト 2 (
[0] => 2013 年 4 月 10 日
[1] => テキスト
[2] => テキスト
[3] => テキスト
[4] => テキスト
)
オブジェクト3 (
[0] => 2013 年 4 月 9 日
[1] => テキスト
[2] => テキスト
[3] => テキスト
)
ご覧のとおり、値を使用して、サイズが異なる可能性がある新しい配列をそれぞれ把握することしかできません。
助けてくれてありがとう。
更新 申し訳ありませんが、最初の質問で自分のコードを公開しませんでした。Bangerang のソリューションのおかげで、最終的に使用したコードを次に示します。皆さんの助けと貢献に感謝します。
var events = [];
var result = [];
var j = 0;
for (var i = 0; i < tableData.length; i++){
if (/^(\d{4})-(\d{2})-(\d{2})$/.test(tableData[i])){ //Returning true if it's just numbers
j = j + 1;
events[j] = [];
events[j].push(tableData[i]);
result.push(events[j]);
} else {
events[j].push(tableData[i]);
}
}
// Then I write the json message which will be eval to use with FullCalendar.
var json_events = '[';
for (var i = 1; i <= events.length; i++){
if (typeof events[i] !== 'undefined' && events[i].length > 0) {
for (var j = 0; j < events[i].length; j++){
if(/@/.test(events[i][j])){
json_events += '{"start":"' + events[i][0] + '",';
json_events += '"textColor":"black",';
var tmp = events[i][j].split("@");
json_events += '"backgroundColor":"' + tmp[0] + '",';
var text_pattern = new RegExp(/<b>([a-z_]+)<\/b>(.+)/);
var title_desc = text_pattern.exec(tmp[1]);
json_events += '"title":"' + title_desc[1] + '",';
json_events += '"description":"' + title_desc[0] + '"';
json_events += '},';
}
}
}
}
json_events += ']';
json_events = json_events.replace("},]","}]");