angular - Typescript'te return ifadesi dinamik olarak nasıl oluşturulur?
Bir değişkene dinamik olarak API'den alınan değerlerle bir dönüş değeri atamam gerekiyor.
Fonksiyon sabit değerlerle şöyle görünüyor:
this.markDisabled = (date: NgbDate) => {
return (this.calendar.getWeekday(date) !== 5 && this.calendar.getWeekday(date) !== 1);
};
Ama aslında !== 5 ve !== 1 dinamik olarak ayarlanmalıdır ve yalnızca bir parametre veya yediye kadar parametre olabilir.
Yani eğer API’im 3,5,6 gibi değerler dönerse, fonksiyonu aşağıdaki gibi oluşturmam gerekiyor:
this.markDisabled = (date: NgbDate) => {
return (this.calendar.getWeekday(date) !== 3 && this.calendar.getWeekday(date) !== 5 && this.calendar.getWeekday(date) !== 6);
};
Ama ona dinamik olarak nasıl ulaşabilirim?
Sayı değerlerini ayarlayacağım fonksiyon, aşağıdaki haritadan alınmıştır:
dayArray.map((g) => {
console.log(dayIndiciesByDayName[g.toLowerCase()] + 1); // here i get for each element in my array get from API the number to be set in return
});
Cevap #1
Yani, bu işe yarar mı? Yöntemi oluşturan bir yardımcı fonksiyon kullanarak?
someApiCall(): void {
const apiReturn = [ 3, 5, 6 ];
this.markDisabled = this.markDisableFunction(apiReturn);
}
markDisableFunction(includeDays: number[]): (date: NgbDate) => boolean {
return (date: NgbDate) => !includeDays.includes(this.calendar.getWeekday(date))
}
