8000 Add Solution to Exercise 04 · TezzGit/javascript-exercises@849c786 · GitHub
[go: up one dir, main page]

Skip to content

Commit 849c786

Browse files
committed
Add Solution to Exercise 04
1 parent 0b80324 commit 849c786

File tree

2 files changed

+17
-9
lines changed

2 files changed

+17
-9
lines changed

04_removeFromArray/removeFromArray.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
1-
const removeFromArray = function() {
2-
1+
const removeFromArray = function (arr, ...args) {
2+
let i = 0;
3+
while (i < arr.length) {
4+
if (args.includes(arr[i])) {
5+
arr.splice(i, 1)
6+
} else {
7+
i++
8+
}
9+
}
10+
return arr
311
};
412

513
// Do not edit below this line

04_removeFromArray/removeFromArray.spec.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,25 @@ describe('removeFromArray', () => {
44
test('removes a single value', () => {
55
expect(removeFromArray([1, 2, 3, 4], 3)).toEqual([1, 2, 4]);
66
});
7-
test.skip('removes multiple values', () => {
7+
test('removes multiple values', () => {
88
expect(removeFromArray([1, 2, 3, 4], 3, 2)).toEqual([1, 4]);
99
});
10-
test.skip('removes multiple of the same value', () => {
10+
test('removes multiple of the same value', () => {
1111
expect(removeFromArray([1, 2, 2, 3], 2)).toEqual([1, 3]);
1212
});
13-
test.skip('ignores non present values', () => {
13+
test('ignores non present values', () => {
1414
expect(removeFromArray([1, 2, 3, 4], 7, "tacos")).toEqual([1, 2, 3, 4]);
1515
});
16-
test.skip('ignores non present values, but still works', () => {
16+
test('ignores non present values, but still works', () => {
1717
expect(removeFromArray([1, 2, 3, 4], 7, 2)).toEqual([1, 3, 4]);
1818
});
19-
test.skip('can remove all values', () => {
19+
test('can remove all values', () => {
2020
expect(removeFromArray([1, 2, 3, 4], 1, 2, 3, 4)).toEqual([]);
2121
});
22-
test.skip('works with strings', () => {
22+
test('works with strings', () => {
2323
expect(removeFromArray(["hey", 2, 3, "ho"], "hey", 3)).toEqual([2, "ho"]);
2424
});
25-
test.skip('only removes same type', () => {
25+
test('only removes same type', () => {
2626
expect(removeFromArray([1, 2, 3], "1", 3)).toEqual([1, 2]);
2727
});
2828
});

0 commit comments

Comments
 (0)
0