Всем привет. Задача такая, дан массив, состоящий из одних дат. Хочу получить индекс через значение, но какой элемент я бы не выбрал, всегда получаю -1.
var k = [
new Date('2017-07-17'),
new Date('2017-07-20'),
new Date('2017-07-23'),
new Date('2017-07-26'),
new Date('2017-07-28'),
new Date('2017-07-30')
]
console.log(k.indexOf(new Date('2017-07-28')));
Обычный indexOf
не сработает, так как у нас даты в виде обьектов, но можно использовать метод findIndex
(подробней о нем) например с приведением даты к числу.
То-есть мы передаем в findIndex
метод сравнения, который приводит 2ве даты в числа и сравнивает их :
var k = [
new Date('2017-07-17'),
new Date('2017-07-20'),
new Date('2017-07-23'),
new Date('2017-07-26'),
new Date('2017-07-28'),
new Date('2017-07-30')
];
var testDate = new Date('2017-07-28');
var index = k.findIndex(i => +i == +testDate);
console.log(index);
ПС: прям в документации (ссылка выше) есть полифилл на данный метод, если нужна поддержка более старых браузеров.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте,есть задача реализовать следующий калькулятор на чекбоксах
На изображении есть объект который я принимаю от сервера, а должен отобразить количество всех, в моем случае компаний, в Html документе, то есть...
Есть 2 чекбокса с одинаковыми параметрами, как с помощьjquery выполнить проверку : если первый чекбокс активен то выводим оределенный блок Div ??
Не могу понять, зачем необходимо такое разделение? Зачем в теле конструктора вызывать другой метод в контексте того же объекта, если весь...