-
Notifications
You must be signed in to change notification settings - Fork 0
/
flatten.js
37 lines (33 loc) · 911 Bytes
/
flatten.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// function eqArrays(arr1, arr2) {
// if (arr1.length !== arr2.length) {
// return false;
// }
// for (let i = 0; i < arr1.length; i++) {
// if (arr1[i] !== arr2[i]) {
// return false;
// }
// }
// return true;
// }
// const assertArraysEqual = function(arr1, arr2) {
// if (eqArrays(arr1, arr2)) {
// console.log(`✅✅✅ Assertion Passed: ${arr1} === ${arr2}`);
// } else {
// console.log(`🛑🛑🛑 Assertion Failed: ${arr1} !== ${arr2}`);
// }
// };
const flatten = function(arr) {
let flattenedArr = [];
for (let i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
for (let j = 0; j < arr[i].length; j++) {
flattenedArr.push(arr[i][j]);
}
} else {
flattenedArr.push(arr[i]);
}
}
return flattenedArr;
}
// assertArraysEqual(flatten([1, 2, [3, 4], 5, [6]]), [1, 2, 3, 4, 5, 6]);
module.exports = flatten;