DEV Community

DPC
DPC

Posted on

2 2 2 1 1

Daily JavaScript Challenge #JS-116: Flatten a Nested Array

Daily JavaScript Challenge: Flatten a Nested Array

Hey fellow developers! 👋 Welcome to today's JavaScript coding challenge. Let's keep those programming skills sharp!

The Challenge

Difficulty: Medium

Topic: Array Manipulation

Description

Write a function that takes a multidimensional array and returns a new array with all elements flattened to a single-level array. You must preserve the order of elements from the input nested arrays.

Ready to Begin?

https://www.dpcdev.com/

  1. Fork this challenge
  2. Write your solution
  3. Test it against the provided test cases
  4. Share your approach in the comments below!

Want to Learn More?

Check out the documentation about this topic here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray

Join the Discussion!

  • How did you approach this problem?
  • Did you find any interesting edge cases?
  • What was your biggest learning from this challenge?

Let's learn together! Drop your thoughts and questions in the comments below. 👇


This is part of our Daily JavaScript Challenge series. Follow me for daily programming challenges and let's grow together! 🚀

javascript #programming #coding #dailycodingchallenge #webdev

Feature flag article image

Create a feature flag in your IDE in 5 minutes with LaunchDarkly’s MCP server ⏰

How to create, evaluate, and modify flags from within your IDE or AI client using natural language with LaunchDarkly's new MCP server. Follow along with this tutorial for step by step instructions.

Read full post

Top comments (2)

Collapse
 
jamescurran profile image
James Curran ‱

This is remarkably simple in C# ( after the complex array definition):

int[][] array = new int[][]
{
new int[] { 1, 1, 3 },
new int[] { 5, 7, 9, 1, 2 },
new int[] { 11, 3, 11, 10, 4 },
new int[] { 8, 7, 6, 5 }
};

var singlearray = array.SelectMany(a => a).ToArray();

Collapse
 
nestorrente profile image
NĂ©stor PĂ©rez GonzĂĄlez ‱ ‱ Edited

Nowadays, this is as simple as:

array.flat(Infinity)
Enter fullscreen mode Exit fullscreen mode

But I understand the real challenge is to implement this by yourself without using flat 😁

Scale globally with MongoDB Atlas. Try free.

Scale globally with MongoDB Atlas. Try free.

MongoDB Atlas is the global, multi-cloud database for modern apps trusted by developers and enterprises to build, scale, and run cutting-edge applications, with automated scaling, built-in security, and 125+ cloud regions.

Learn More

👋 Kindness is contagious

If this **helped, please leave a ❀ or a friendly comment!

Okay