-
Notifications
You must be signed in to change notification settings - Fork 0
/
solution0083.js
47 lines (32 loc) · 1.29 KB
/
solution0083.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
/*
--------------- 8 Kyu - Removing Elements ------------------
Instructions:
Take an array and remove every second element from the array. Always keep the first element and start removing with the next element.
Example:
["Keep", "Remove", "Keep", "Remove", "Keep", ...] --> ["Keep", "Keep", "Keep", ...]
None of the arrays will be empty, so you don't have to worry about that!
-------------
Sample Tests
const chai = require("chai");
const assert = chai.assert;
chai.config.truncateThreshold=0;
describe("Basic tests",() =>{
it("Testing for fixed tests", () => {
assert.deepEqual(removeEveryOther(['Hello', 'Goodbye', 'Hello Again']),['Hello', 'Hello Again']);
assert.deepEqual(removeEveryOther([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]),[1, 3, 5, 7, 9]);
assert.deepEqual(removeEveryOther([[1, 2]]), [[1, 2]]);
assert.deepEqual(removeEveryOther([['Goodbye'], {'Great': 'Job'}]),[['Goodbye']]);
})
});
--------------
PREP
Parameters: an array of strings
Return: return an arrary with every second element removed, or, all odd-indexed elements removed.
Example: ["Keep", "Remove", "Keep", "Remove", "Keep", ...] --> ["Keep", "Keep", "Keep", ...]
Psuedo Code:
-if index%2=0 number is even
-iterate or run .filter
*/
function removeEveryOther(arr){
return arr.filter((e, i) => i % 2 === 0);
}