Javascript 索引数组文字是一种良好的做法吗?

Javascript 索引数组文字是一种良好的做法吗?,javascript,Javascript,在我的代码中,我有以下简单的函数: function selectedWeekDay() { return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'][day]; } 其中“day”是在别处定义的整数。 这显然是可行的,但实际上我还没有在我见过的任何其他代码示例中看到这种类型的事情;创建数组文字只是为了从数据的有序排列中进行选择 我的问题是,这是好的做法吗?或者使用swit

在我的代码中,我有以下简单的函数:

function selectedWeekDay() {
    return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'][day];
}
其中“day”是在别处定义的整数。 这显然是可行的,但实际上我还没有在我见过的任何其他代码示例中看到这种类型的事情;创建数组文字只是为了从数据的有序排列中进行选择


我的问题是,这是好的做法吗?或者使用switch语句更好吗?

同样,这非常好,因为您的数组非常小。 但对于较大的阵列,它可能会消耗内存和/或CPU时间(取决于抖动和垃圾收集器的智能性)

switch语句绝对是个坏主意(它不能扩展到更大的集合)

我会做一个简单的闭包来改进初始代码,同时保持数组的私有性

var selectedWeekDay = (function() {
    var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
    return function(day) {
        // do some bound checking
       return days[day];
    };
}());

将此数组定义为全局某个位置的常量,并将日期作为参数传递。最好是
var days=['Sunday'、'Sunday'、'Sunday'、'Sunday'、'Sunday'、'Sunday'、'Sunday'、'Sunday'、'Sunday'、'frida';函数selectedWeekDay(day){returndays[day];}
switch语句是个可怕的主意。以i18n为例。是的,简单明了。谢谢大家。我不知道为什么我不把数组变成全局数组。嗯!:)明亮的谢谢