8000 Complete excercise #4 · NadifRahman/javascript-exercises@b4ea127 · GitHub
[go: up one dir, main page]

Skip to content

Commit b4ea127

Browse files
committed
Complete excercise TheOdinProject#4
1 parent 41292c5 commit b4ea127

File tree

2 files changed

+18
-8
lines changed

2 files changed

+18
-8
lines changed

04_removeFromArray/removeFromArray.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,14 @@
1-
const removeFromArray = function() {
1+
const removeFromArray = function(arr) {
2+
3+
for (let i = 1; i < arguments.length; i++) {
4+
let indexOfItemToRemove = arr.indexOf(arguments[i]);
5+
8000 while(indexOfItemToRemove !== -1) {
6+
arr.splice(indexOfItemToRemove, 1); //removes the element
7+
indexOfItemToRemove = arr.indexOf(arguments[i]); //tries to find any duplicates
8+
}
9+
}
10+
11+
return arr;
212

313
};
414

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