مسیرها
/
jq
jq
/
تمرین‌ها
/
مسطح کردن آرایه
مسطح کردن آرایه

مسطح کردن آرایه

آسان

مقدمه

یک محموله از لوازم اضطراری رسیده است، اما یک مشکل وجود دارد. برای محافظت در برابر آسیب، اقلام (چراغ‌قوه‌ها، جعبه‌های کمک‌های اولیه، پتوها) داخل جعبه‌ها بسته‌بندی شده‌اند و بعضی از آن جعبه‌ها چند لایه تودرتو درون جعبه‌های دیگر جای گرفته‌اند!

برای آماده بودن در شرایط اضطراری، همه‌چیز باید به‌راحتی در یک جعبه در دسترس باشد. آیا می‌توانید همه‌ی لوازم را از جعبه‌ها بیرون بیاورید و آن‌ها را در یک جعبه‌ی واحد بگذارید، تا در زمانی که بیشترین نیاز به آن‌هاست آماده باشند؟

دستورالعمل‌ها

یک آرایه‌ی تودرتو با هر عمقی را بگیرید و یک آرایه‌ی کاملاً تخت‌شده برگردانید.

توجه داشته باشید که بعضی از مسیرهای زبان ممکن است مقادیر شبیه null را در آرایه‌ی ورودی بگنجانند و شیوه‌ی نمایش این مقادیر از مسیری به مسیر دیگر فرق می‌کند. چنین مقادیری باید از آرایه‌ی تخت‌شده حذف شوند.

علاوه بر این، ورودی بسته به مسیر ممکن است از نوع داده‌ی دیگری باشد و انواع متفاوتی را در خود داشته باشد.

برای جزئیات، مجموعه‌ی آزمون‌ها را بررسی کنید.

مثال

ورودی: [1, [2, 6, null], [[null, [4]], 5]]

خروجی: [1, 2, 6, 4, 5]

دستورهای مخصوص jq

یک تابع توکار flatten وجود دارد که این تمرین را تا حد زیادی حل می‌کند. سعی کنید این تمرین را خودتان و بدون استفاده از تابع توکار flatten حل کنید تا بیشترین بهره را از این تمرین ببرید.

برای دیدن راهنمایی‌ها اینجا کلیک کنید:
  • یک تابع بازگشتی می‌تواند مفید باشد. درباره‌ی بازگشت در درس بازگشت بیشتر یاد بگیرید.
  • تابع type می‌تواند کمک کند.
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
jq Exercism

آماده‌اید مسطح کردن آرایه را شروع کنید؟

در Exercism ثبت‌نام کنید تا jq را همراه با 12 مفهوم75 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.