Я новичок в разработке Angular 4. Я обнаружил, что someArray.findIndex() не является функцией. Как добавить эту javascript-функцию .findIndex() в TypeScript.
Я создаю компонент календаря, следующая функция выдает ошибку
WEBPACK_IMPORTED_MODULE_2_lodash.findIndex is not a function at CalendarComponent.isSelected (calendar.component.ts:4
isSelected(date: moment.Moment): boolean {
return _.findIndex(this.selectedDates, (selectedDate) => {
return moment(date).isSame(selectedDate.mDate, 'day');
}) > -1;
}
Большое спасибо.



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


Это не про Машинопись. Функции Javascript включены в Typescript. Вы пытаетесь использовать функцию Лодаш. Убедитесь, что вы установили и импортировали его поверх файла:
import _ from 'lodash';
или просто используйте функцию Javascript:
isSelected(date: moment.Moment): boolean {
return this.selectedDates.findIndex((selectedDate) => {
return moment(date).isSame(selectedDate.mDate, 'day');
});
}
Вы вызываете findIndex метод _. Вы либо используете UnderscoreJS, либо Lodash.
Как говорится в ошибке WEBPACK_IMPORTED_MODULE_2_lodash.findIndex не является функцией Это означает, что вы используете lodash.
Импортируйте библиотеку lodash, и она будет работать.
import _ from 'lodash';
selectedDate = arrayName.find(item => item.date === searchingdate);
вы можете использовать indexOf
[1,2,3,4,5].indexOf(1) //return 0
[1,2,3,4,5].indexOf(5) //return 4
[1,2,3,4,5].indexOf(6) //return -1
[1,2,3,4,5].indexOf(0) //return -1
Большое вам спасибо за ваш ответ. Это решило мою проблему. Я пропустил установку модуля
lodash.