Итак, у меня есть код, который работает в других браузерах, но в IE он не работает. Я могу подтвердить вывод в браузер записи о том, что функция indexOf поддерживается и работает, потому что код console.log('array.indexOf(2) = ' + array.indexOf(2));
выводит на консоли значение 0.
Согласно моим выводам из журнала другие значения верны, и все выглядит так, как должноработает, но код внутри оператора if никогда не срабатывает.
Вот изображение моего javascript-входа в консоль
Я пробовал множество вещей,который я выделил в коде, например, используя .toString()
и jQuery.inArray
, а также daySetting[0].includes
console.log('daySetting[0] = ' + daySetting[0]);
console.log('new Date().toLocaleString("en-us", { weekday: "short" }) = ' + new Date().toLocaleString('en-us', { weekday: 'short' }));
console.log('daySetting[0].indexOf(new Date().toLocaleString("en-us", { weekday: "short" })) = ' + daySetting.indexOf(new Date().toLocaleString('en-us', { weekday: 'short' })));
var array = [2, 9, 9]; //test array
console.log('array.indexOf(2) = ' + array.indexOf(2));
if (daySetting[0].toString().indexOf(new Date().toLocaleString('en-us', { weekday: 'short' })) !== -1) {
//|| daySetting[0].includes(new Date().toLocaleString('en-us', { weekday: 'short' }))//tried the includes method and .toString() method
//if (jQuery.inArray(new Date().toLocaleString('en-us', { weekday: 'short' }), daySetting) != -1) {//tried jquery in array
console.log("dayHours = " + dayHours); //expecting this to be output
continue; //code is inside a loop
}
Я ожидаю увидеть код console.log("dayHours = " + dayHours);
, который будет зарегистрирован на консоли, но это не так. Это отлично работает в других браузерах, но я просто не могу понять, что происходит.
Вот скрипка кода https://jsfiddle.net/q8pod2xj/1/