Массив месяца в JavaScript, не симпатичном

Как я могу сделать это более хорошим?

var month = new Array();

month['01']='Jan';
month['02']='Feb';
month['03']='Mar';

и т.д. Itd быть хорошим сделать это как:

var months = new Array(['01','Jan'],['02','Feb'],['03','Mar']);

Например. так или иначе как этот для упрощения его?

17
задан Oscar Godson 15 July 2010 в 23:50
поделиться

3 ответа

это должно сделать это...

var months = {'01':'Jan', '02':'Feb'};
alert( months['01'] );
22
ответ дан 30 November 2019 в 10:08
поделиться

Не используйте массив, если вы не используете реальные числовые индексы. Попробуйте следующее:

var month = {
    '01': 'Jan',
    '02': 'Feb',
    // ...
    '12': 'Dec'
};

Лично я бы обернул такую ​​логику в функцию:

var monthNames = ['Jan', 'Feb', /* ... */ 'Dec'];
function getMonthName(n) {
    return monthNames(n - 1);
}

alert(getMonthName(1)); // 'Jan'

Таким образом, вам никогда не придется думать о базовой структуре данных или беспокоиться о ее изменении позже.

1
ответ дан 30 November 2019 в 10:08
поделиться

почему бы и нет:

var month = [
  'Jan', 
  'Feb', 
  // ...
  'Dec'];

Чтобы получить название месяца из числа, вы должны сделать что-то вроде:

var monthNum = 2; // February
var monthShortName = month[monthNum-1];
6
ответ дан 30 November 2019 в 10:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: