0

現在の月のカレンダー (a 内<table>) の html を作成するための JavaScript 関数を作成しています。関数のパラメーターの 1 つは、曜日を書き出すか、そのイニシャルを使用するかです。フルネームとイニシャルは両方とも配列に含まれています。この関数は、配列の 1 つをループして、曜日を含むテーブル セルを作成します。ループする配列を選択する最良の方法は何ですか? それとも、まったく別の方法でこのコードを作成する必要がありますか?

私の質問を説明するコード:

buildCalendar(useFullNames){
    var fullNames = ['Sunday', 'Monday'], // etc.
        initials = ['S', 'M'],
        calString = '<tr>';

    if(useFullNames) {
        // use fullNames array in the loop 
    }     
    else {   
        // use initials array in loop
    }

    for(i=0; i<7; i++)
    {
        // Need to loop over the array picked above
        calString += '<td>' + relevantArray[i] + '</td>';
    }

    calString += '</tr>';
}
4

3 に答える 3

3
var relevantArray = useFullNames ? fullNames : initials;
于 2012-09-14T03:52:22.693 に答える
2

このようなものはどうですか(疑似コード):

buildCalendar(dayOfWeekFormat){ //dayOfWeekFormat: "fullNames or "initials"
    var dayOfWeekFormat = { 
       fullNames: ['Sunday', ..., 'Saturday'],
       initials: ['S', ..., 'Sat']
    }
    var calString = '<tr>';

    for(i=0; i<7; i++)
    {
        // Need to loop over the array picked above
        calString += '<td>' + daysOfWeek[dayOfWeekFormat][i] + '</td>';
    }

    calString += '</tr>';
}

relevantArrayひどい変数名です。内容については何も教えてくれません。

于 2012-09-14T04:00:43.073 に答える
1

さて、設定したように、relevantArray変数を設定します

buildCalendar(useFullNames){
    var fullNames = ['Sunday', 'Monday'], // etc.
        initials = ['S', 'M'],
        calString = '<tr>',
        relevantArray;

    if(useFullNames) {
        // use fullNames array in the loop 
        relevantArray = fullNames;
    }     
    else {   
        // use initials array in loop
        relevantArray = initials;
    }

    for(i=0; i<7; i++)
    {
        // Need to loop over the array picked above
        calString += '<td>' + relevantArray[i] + '</td>';
    }

    calString += '</tr>';
}
于 2012-09-14T03:52:19.113 に答える