2014-09-11 50 views
0

我想这需要integer JavaScript函数(工作日[即1,2,3 ...... 7]),并返回string(即 '星期日', '星期一' ....)。但我不知道什么是最好的方法来做到这一点。这意味着我应该用什么enumarrayswitch case如何在JavaScript中创建枚举?

  • js函数
  • function GetFullName(weekDay) { if (weekDay == 1) return "Monday";
    if (WeekDay = 2)
    return "Tuesday"; }

  • 但是,我不想做这样的......有什么聪明的方式来使用创建Enum

+0

只需使用一个数组,如果周一需要从1开始使用对象 – Gabs00 2014-09-11 10:30:15

回答

3

试试这个

function GetFullName(weekDay) 
{ 
var days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']; 
var day = days[ weekDay-1]; 
return day; 
} 
+1

如果您想使用第1,第2等...中的日期,则必须添加-1,例如'days [weekDay-1];' – Spokey 2014-09-11 10:31:52

+0

@Spokey您的意思是'days [weekDay-1] ':) – CodingIntrigue 2014-09-11 10:33:51

+0

@RGrah是的,是的,简单的逻辑错误。应该是-1 – Spokey 2014-09-11 10:35:19

2

又一个思想比数组,DAYNAME和索引创建一个对象平日:

var weekdays = { 
    Monday : 1, 
    Tuesday : 2, 
    Wednesday : 3, 
    Thursday:4, 
    Friday:5, 
    Saturday:6, 
    Sunday:7 

} 

function getFullName(weekDay) { 
for(var prop in weekdays) { 
     if(weekdays.hasOwnProperty(prop)) { 
      if(weekdays[ prop ] === weekDay) 
       return prop; 
     } 
    } 
} 

var fullName = getFullName(2); 
console.log(fullName); 
+0

谢谢,这也将帮助我,当我的js函数采用短名称,而不是'int'我已经修改它很少,它适用于我。如果我的功能采用短名称,如'Mon','Thu'等,则此功能非常有用。 – prog1011 2014-09-11 10:48:48