0

ここに配列があります

var weekdayColor = {
        sunday : 'red',       // sunday
        monday : 'blue',      // monday
        tuesday: 'white',     // tuesday
        wednesday: 'black',    
        thursday: 'green',     
        friday: 'yellow',  
        saturday: 'orange'     
    }

weekcayColor[0]getの行に沿って何かを実行できるようにしたいsunday:

これは私がインタビュー用に書いた JavaScript で、既に提出されています。これを行うにはもっと簡単な方法があることはわかっています。最初のweekdayColor変数は変更できません。また、weekdayColor.sunday戻りますred

おそらく、間違った日付メソッドを使用しているか、変数に間違ってアクセスしていますか?

var weekdayColor = {
        sunday : 'red',       // sunday
        monday : 'blue',      // monday
        tuesday: 'white',     // tuesday
        wednesday: 'black',     // wednessday
        thursday: 'green',     // thursday
        friday: 'yellow',    // friday
        saturday: 'orange'     // saturday
    }
    var weekday=new Array();
        weekday[0]="sunday";
        weekday[1]="monday";
        weekday[2]="tuesday";
        weekday[3]="wednesday";
        weekday[4]="thursday";
        weekday[5]="friday";
        weekday[6]="saturday";
    d = new Date;
    day = d.getDay();
    console.log(weekday[day]);
    a = weekday[day];
    function change(){
        var x = document.getElementById("weekday");
        x.innerHTML = a;
        x.style.color = weekdayColor[a];
    }
4

2 に答える 2

0

次のようにオブジェクトの配列を使用する方が簡単です。

var weekday = [
   {name:"sunday",color:"red"},
   {name:"monday",color:"blue"},
   // and so on
]

次に、次のようなことができます。

d = new Date();
day = d.getDay();
weekday[day].name  // yields name
weekday[day].color // yields color

または、プロトタイプ メソッドを作成することもできます。

Date.prototype.getDayName = function() {
return ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']
       [this.getDay()];
}

そしていま

var d = new Date;
d.getDayName(); // this would actually give you the name of the day
于 2013-01-27T20:51:13.407 に答える
0

あなたが何をしようとしているのか100%確信が持てません。今日の要素の色を変更したい場合はchange()、次のように変更する必要があります。

function change(day){
    var x = document.getElementById(day);       
    x.style.color = weekdayColor[day];
}
var d = new Date(),
    day = d.getDay(),
    a = weekday[day];

/* now call change passing day as argument*/
change(a);

デモ: http://jsfiddle.net/rhHjn/1

于 2013-01-27T20:42:02.737 に答える