JavaScript و استفاده از Array.flat

javascript array flat guide
20 آبان 1403

اگه تا حالا با آرایه ها در جاوااسکریپت کار کرده باشی، حتما به مواردی بر خورده‌ای که آرایه‌هات چند بعدی بودن و برای دسترسی به عناصر درونی‌تر باید کلی کد اضافی می‌نوشتی. اینجاست که متد 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);
در نهایت با چاپ کردن نتیجه، آرایه تخت شده رو می‌بینیم که تمام عناصر در یک سطح قرار گرفته است.

سوالات متداول

؟

چطوری می‌تونم یک آرایه چند بعدی رو تخت کنم؟

؟

آیا Array.flat آرایه‌ها رو به‌طور پیش‌فرض تا یک سطح تخت می‌کنه؟