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

Sentry blog image

How I fixed 20 seconds of lag for every user in just 20 minutes.

Our AI agent was running 10-20 seconds slower than it should, impacting both our own developers and our early adopters. See how I used Sentry Profiling to fix it in record time.

Read more

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 😁

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →