-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path4-kyu-remove-zeros.js
49 lines (37 loc) · 1.51 KB
/
4-kyu-remove-zeros.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
38
39
40
41
42
43
44
45
46
47
48
49
// 4 kyu | Remove Zeros
// https://www.codewars.com/kata/remove-zeros/
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
/**
* @param {Array} array
* @returns
*/
const removeZeros = (array, notZeroes = [], zeroes = []) => {
for (let n of array)
if (0 !== n && '0' !== n) notZeroes = [...notZeroes, n];
else zeroes = [...zeroes, n];
return [...notZeroes, ...zeroes];
};
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
import { deepStrictEqual } from 'assert';
deepStrictEqual(
removeZeros([7, 2, 3, 0, 4, 6, 0, 0, 13, 0, 78, 0, 0, 19, 14]),
[7, 2, 3, 4, 6, 13, 78, 19, 14, 0, 0, 0, 0, 0, 0],
);
removeZeros([7, 2, 3, 4, 6, 13, 78, 19, 14]);
removeZeros([0, 0, 0, 0, 0, 0]);
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
/*
| 7 | 2 | 3 | 0 | 4 | 6 | 0 | 0 | 13 | 0 | 78 | 0 | 0 | 19 | 14 |
| 7 | 2 | 3 | 4 | 6 | 13 | 78 | 19 | 14 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 2 | 3 | 0 | 4 | 5 | 6 | 0 | 7 | 8 | 0 | 9 |
| 1 | 2 | 3 | 4 | 0 | 5 | 6 | 0 | 7 | 8 | 0 | 9 |
| 1 | 2 | 3 | 4 | 5 | 0 | 6 | 0 | 7 | 8 | 0 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 0 | 0 | 7 | 8 | 0 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 0 | 7 | 0 | 8 | 0 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 | 0 | 8 | 0 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 | 8 | 0 | 0 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 0 | 0 | 0 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 0 | 0 | 9 | 0 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 0 | 9 | 0 | 0 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | 0 | 0 |
*/