diff --git a/guide/english/certifications/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/steamroller/index.md b/guide/english/certifications/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/steamroller/index.md
index 305c90ce49..b105d08d2f 100644
--- a/guide/english/certifications/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/steamroller/index.md
+++ b/guide/english/certifications/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/steamroller/index.md
@@ -100,6 +100,29 @@ You will definitely need recursion or another way to go beyond two level arrays
* Spread operator
* Ternary Operator (`condition ? a : b`)
+##  Intermediate Code Solution 2:
+
+ function steamrollArray(arr) {
+ while(arr.some(element => Array.isArray(element))) {
+ arr = arr.flat();
+ }
+ return arr;
+ }
+
+ steamrollArray([1, [2], [3, [[4]]]]);
+
+ Run Code
+
+### Code Explanation:
+
+* Use `Array.some()` method to find out if the new array contains an array still, if it does flatten the array
+* Repeats, until there is no more arrays inside arr.
+
+#### Relevant Links
+
+* Array.some
+* Array.flat
+
##  Advanced Code Solution:
function steamrollArray(arr) {