Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,944 questions

51,885 answers

573 users

How to create function that flatten nested array of any depth in JavaScript

2 Answers

0 votes
function DeepFlatten(arr) {     
   return arr.reduce((f, val) => Array.isArray(val) ? 
   f.concat(DeepFlatten(val)) : f.concat(val), []);  
}  

const arr = [[1,2], [3,[4,5],[12, 13, [100, 200], 14, 15], 6], [7], [8,9,10]];

const arr_flat = DeepFlatten(arr);

for (let i = 0; i < arr_flat.length; i++)    
    console.log(arr_flat[i]);



/*
run:

1
2
3
4
5
12
13
100
200
14
15
6
7
8
9
10

*/

 



answered May 17, 2021 by avibootz
0 votes
function DeepFlatten(arr) {     
   return arr.reduce((f, val) => Array.isArray(val) ? 
   f.concat(DeepFlatten(val)) : f.concat(val), []);  
}  

const arr = [1, [2, 'java', 3, [4, 'script', [5, 6] ] ], 7, [8, [9, true, false] ] ];

const arr_flat = DeepFlatten(arr);

for (let i = 0; i < arr_flat.length; i++)    
    console.log(arr_flat[i]);




/*
run:

1
2
"java"
3
4
"script"
5
6
7
8
9
true
false

*/

 



answered May 17, 2021 by avibootz

Related questions

1 answer 75 views
1 answer 155 views
1 answer 149 views
1 answer 160 views
2 answers 179 views
...