Я вычисляю день недели из API, и мне нужно заменить последний элемент, которым будет сегодняшний день, на строку «Сегодня» в массиве.
Например:
У меня есть массив todayCal=[tue, wed, thu, fri, sat, sun, mon], где mon - это день текущей даты, и я должен заменить это mon на «Today» при отображении.
мой код:
var weekdays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
var d = new Date();
var day = d.getDay();
var dayCal = weekdays[day];
if (dayCal){
console.info(dayCal[6],'weekday[6]');
dayCal[6] = 'Today';
}
else {
dayCal= weekdays[day];
}
Здесь последний элемент sat заменяется на «Today», а мне нужно, чтобы текущий день был заменен на «Today».
да, вот где я застрял при печати длины, которую я получаю как 3.
Вам нужно по ходу конвертировать weekdays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; во что-то вроде ['Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun', 'Mon']? а потом на ['Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun', 'Today']?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете использовать getDay(), который возвращает день недели как число, и заменить значение в weekdays на Today, используя возвращаемое значение getDay().
var weekdays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
weekdays[new Date().getDay()] = 'Today'
console.info(weekdays);Вы можете просто переопределить значение массива weakdays []. Когда вы выполняете d.getDay (), он дает вам 1 проход, он получает значение из массивов weakdays. Это что-то вроде weakdays [1] = 'Today'. как следующее:
var weekdays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
var d = new Date();
var day = d.getDay();
if (day){
weekdays[day] = 'Today'
}else{
console.info(weekdays);
}
console.info(weekdays);пожалуйста, найдите ниже измененный фрагмент кода.
var weekdays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
var d = new Date();
var day = d.getDay();
var dayCal = weekdays[day];
if (dayCal){
weekdays[day] = 'Today';
console.info(weekdays);
}
else{
dayCal= weekdays[day];
console.info(dayCal);
}
dayCal- это строка день (3 буквы), поэтомуdayCal[6]работать не будет.