اگه تا حالا با آرایه ها در جاوااسکریپت کار کرده باشی، حتما به مواردی بر خوردهای که آرایههات چند بعدی بودن و برای دسترسی به عناصر درونیتر باید کلی کد اضافی مینوشتی. اینجاست که متد Array.flat
به دادت میرسه. این متد کارش اینه که آرایهها رو تا عمقی که مشخص میکنی، تخت یا فلت کنه و تو رو از شر پیچیدگیهای اضافی نجات بده.
مثلا فرض کن یه آرایه داری که توی هر سطحش هم ممکنه باز یه آرایه دیگه باشه. این متد کمک میکنه که تمام آرایهها رو به یه سطح پایین بیاره و به راحتی به هر عنصری که میخوای دسترسی پیدا کنی. چقدر عالیه، نه؟
نکته جالب اینکه کاربرد این متد فقط به آرایههای دوتایی یا سهتایی خلاصه نمیشه! میتونی خودت درجه تخت شدن رو تعیین کنی. به این معنی که اگه آرایهای صدتا سطح داشته باشه، به هر تعدادی که نیاز داری میتونی تختش کنی.
حالا میرم سراغ مثالی تا بیشتر با این مفهموم آشنا بشی:
const arr = [1, 2, [3, 4, [5, 6]]];
const flatArr = arr.flat(2);
console.log(flatArr); // Output: [1, 2, 3, 4, 5, 6]
توضیحات کد:
const arr = [1, 2, [3, 4, [5, 6]]];
این خط آرایهای چند بعدی رو تعریف میکنه که چند سطح تو در تو داره.
const flatArr = arr.flat(2);
اینجا از متد flat
استفاده میکنیم تا آرایه رو تا عمق دوم تخت کنیم.
console.log(flatArr);
در نهایت با چاپ کردن نتیجه، آرایه تخت شده رو میبینیم که تمام عناصر در یک سطح قرار گرفته است.