ค้นหาเว็บไซต์

javascript - D3 .extent() ปฏิเสธอาร์เรย์ของวันที่ใน typescript


ฉันกำลังประสบปัญหาในการใช้งานฟังก์ชัน .extent() ของ d3 ใน TypeScript

ฉันมีโค้ดอยู่บางส่วนที่สร้างวัตถุวันที่จากวันต่างๆ

 const dates:(Date | null)[] = data.map(row => d3.timeParse("%Y-%m-%d")(row.Date))

เมื่อฉันใช้ console log กับตัวแปร dates มันจะมีลักษณะประมาณนี้

[Sat Jun 24 2023 00:00:00 GMT-0700 (Pacific Daylight Time), Sat Jun 24 2023 00:00:00 GMT-0700 (Pacific Daylight Time), Fri Jun 23 2023 00:00:00 GMT-0700 (Pacific Daylight Time), Fri Jun 23 2023 00:00:00 GMT-0700 (Pacific Daylight Time), Fri Jun 23 2023 00:00:00 GMT-0700 (Pacific Daylight Time), ...]

ดังนั้น ฉันจึงรู้ว่าตัวแปร dates ของฉันเต็มไปด้วยวัตถุวันที่ ตามที่คาดไว้...

อย่างไรก็ตาม เมื่อฉันพยายามใช้ฟังก์ชัน d3.extent() เพื่อหาวันที่สูงสุดและต่ำสุด

const xScale = d3
      .scaleTime()
      .domain(d3.extent(dates))
Argument of type '[undefined, undefined] | [string, string]' is not assignable to parameter of type 'Iterable<Date | NumberValue>'.

ฉันงงว่าทำไมถึงเป็นแบบนี้ เพราะตัวแปร dates ของฉันจริง ๆ แล้วมีแต่วันที่ล้วน ๆ และไม่ใช่ อย่างที่ข้อผิดพลาดบอกว่า '[undefined, undefined] | [string, string]'

มีอะไรผิดพลาดเกี่ยวกับสิ่งที่ฉันส่งเข้าไปเหรอ? ฉันควรส่งวันที่ไปยังฟังก์ชัน extent() ใน TypeScript อย่างไร?

บทความที่เกี่ยวข้อง