Skip to content

Commit e022d35

Browse files
committed
TOP Javascript exercises 1-4 complete
1 parent fce2b47 commit e022d35

File tree

8 files changed

+7547
-48
lines changed

8 files changed

+7547
-48
lines changed

01_helloWorld/helloWorld.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const helloWorld = function() {
2-
return ''
2+
return 'Hello, World!'
33
};
44

55
module.exports = helloWorld;

02_repeatString/repeatString.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
1-
const repeatString = function() {
2-
1+
const repeatString = function(input, reps) {
2+
let outstring = "";
3+
if (reps < 0){
4+
outstring = "ERROR"
5+
}
6+
else {
7+
for(idx = 0; idx < reps; idx++) outstring += input;
8+
}
9+
return outstring;
310
};
411

512
// Do not edit below this line

02_repeatString/repeatString.spec.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,19 @@ describe('repeatString', () => {
44
test('repeats the string', () => {
55
expect(repeatString('hey', 3)).toEqual('heyheyhey');
66
});
7-
test.skip('repeats the string many times', () => {
7+
test('repeats the string many times', () => {
88
expect(repeatString('hey', 10)).toEqual('heyheyheyheyheyheyheyheyheyhey');
99
});
10-
test.skip('repeats the string 1 times', () => {
10+
test('repeats the string 1 times', () => {
1111
expect(repeatString('hey', 1)).toEqual('hey');
1212
});
13-
test.skip('repeats the string 0 times', () => {
13+
test('repeats the string 0 times', () => {
1414
expect(repeatString('hey', 0)).toEqual('');
1515
});
16-
test.skip('returns ERROR with negative numbers', () => {
16+
test('returns ERROR with negative numbers', () => {
1717
expect(repeatString('hey', -1)).toEqual('ERROR');
1818
});
19-
test.skip('repeats the string a random amount of times', function () {
19+
test('repeats the string a random amount of times', function () {
2020
/*The number is generated by using Math.random to get a value from between
2121
0 to 1, when this is multiplied by 1000 and rounded down with Math.floor it
2222
equals a number between 0 to 999 (this number will change everytime you run
@@ -31,7 +31,7 @@ describe('repeatString', () => {
3131
was randomly generated. */
3232
expect(repeatString('hey', number).match(/((hey))/g).length).toEqual(number);
3333
});
34-
test.skip('works with blank strings', () => {
34+
test('works with blank strings', () => {
3535
expect(repeatString('', 10)).toEqual('');
3636
});
3737
});

03_reverseString/reverseString.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
const reverseString = function() {
2-
1+
const reverseString = function(input) {
2+
output = "";
3+
for (idx = input.length - 1; idx >= 0; idx--) output += input[idx];
4+
return output;
35
};
46

57
// Do not edit below this line

03_reverseString/reverseString.spec.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ describe('reverseString', () => {
55
expect(reverseString('hello')).toEqual('olleh');
66
});
77

8-
test.skip('reverses multiple words', () => {
8+
test('reverses multiple words', () => {
99
expect(reverseString('hello there')).toEqual('ereht olleh')
1010
})
1111

12-
test.skip('works with numbers and punctuation', () => {
12+
test('works with numbers and punctuation', () => {
1313
expect(reverseString('123! abc!')).toEqual('!cba !321')
1414
})
15-
test.skip('works with blank strings', () => {
15+
test('works with blank strings', () => {
1616
expect(reverseString('')).toEqual('')
1717
})
1818
});

04_removeFromArray/removeFromArray.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
const removeFromArray = function() {
2-
1+
const removeFromArray = function(inArray, ...removals) {
2+
let outArray = inArray;
3+
removals.forEach((item) => { if (outArray.indexOf(item) > -1) outArray.splice(inArray.indexOf(item), 1)});
4+
return outArray;
35
};
46

57
// Do not edit below this line

04_removeFromArray/removeFromArray.spec.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,22 @@ 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('ignores non present values', () => {
10+
test('ignores non present values', () => {
1111
expect(removeFromArray([1, 2, 3, 4], 7, "tacos")).toEqual([1, 2, 3, 4]);
1212
});
13-
test.skip('ignores non present values, but still works', () => {
13+
test('ignores non present values, but still works', () => {
1414
expect(removeFromArray([1, 2, 3, 4], 7, 2)).toEqual([1, 3, 4]);
1515
});
16-
test.skip('can remove all values', () => {
16+
test('can remove all values', () => {
1717
expect(removeFromArray([1, 2, 3, 4], 1, 2, 3, 4)).toEqual([]);
1818
});
19-
test.skip('works with strings', () => {
19+
test('works with strings', () => {
2020
expect(removeFromArray(["hey", 2, 3, "ho"], "hey", 3)).toEqual([2, "ho"]);
2121
});
22-
test.skip('only removes same type', () => {
22+
test('only removes same type', () => {
2323
expect(removeFromArray([1, 2, 3], "1", 3)).toEqual([1, 2]);
2424
});
2525
});

0 commit comments

Comments
 (0)