solved 01-04
This commit is contained in:
parent
f91f2f87d5
commit
447c47dfd8
|
@ -1,5 +1,5 @@
|
||||||
const helloWorld = function () {
|
const helloWorld = function () {
|
||||||
return "hello world";
|
return "Hello, World!";
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = helloWorld;
|
module.exports = helloWorld;
|
||||||
|
|
|
@ -1,5 +1,13 @@
|
||||||
const repeatString = function() {
|
const repeatString = function (string, repititions) {
|
||||||
|
let newString = "";
|
||||||
|
|
||||||
|
if (repititions < 0) {
|
||||||
|
return "ERROR";
|
||||||
|
}
|
||||||
|
for (let i = 0; i < repititions; i++) {
|
||||||
|
newString += string;
|
||||||
|
}
|
||||||
|
return newString;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Do not edit below this line
|
// Do not edit below this line
|
||||||
|
|
|
@ -1,37 +1,39 @@
|
||||||
const repeatString = require('./repeatString')
|
const repeatString = require("./repeatString");
|
||||||
|
|
||||||
describe('repeatString', () => {
|
describe("repeatString", () => {
|
||||||
test('repeats the string', () => {
|
test("repeats the string", () => {
|
||||||
expect(repeatString('hey', 3)).toEqual('heyheyhey');
|
expect(repeatString("hey", 3)).toEqual("heyheyhey");
|
||||||
});
|
});
|
||||||
test.skip('repeats the string many times', () => {
|
test("repeats the string many times", () => {
|
||||||
expect(repeatString('hey', 10)).toEqual('heyheyheyheyheyheyheyheyheyhey');
|
expect(repeatString("hey", 10)).toEqual("heyheyheyheyheyheyheyheyheyhey");
|
||||||
});
|
});
|
||||||
test.skip('repeats the string 1 times', () => {
|
test("repeats the string 1 times", () => {
|
||||||
expect(repeatString('hey', 1)).toEqual('hey');
|
expect(repeatString("hey", 1)).toEqual("hey");
|
||||||
});
|
});
|
||||||
test.skip('repeats the string 0 times', () => {
|
test("repeats the string 0 times", () => {
|
||||||
expect(repeatString('hey', 0)).toEqual('');
|
expect(repeatString("hey", 0)).toEqual("");
|
||||||
});
|
});
|
||||||
test.skip('returns ERROR with negative numbers', () => {
|
test("returns ERROR with negative numbers", () => {
|
||||||
expect(repeatString('hey', -1)).toEqual('ERROR');
|
expect(repeatString("hey", -1)).toEqual("ERROR");
|
||||||
});
|
});
|
||||||
test.skip('repeats the string a random amount of times', function () {
|
test("repeats the string a random amount of times", function () {
|
||||||
/*The number is generated by using Math.random to get a value from between
|
/*The number is generated by using Math.random to get a value from between
|
||||||
0 to 1, when this is multiplied by 1000 and rounded down with Math.floor it
|
0 to 1, when this is multiplied by 1000 and rounded down with Math.floor it
|
||||||
equals a number between 0 to 999 (this number will change everytime you run
|
equals a number between 0 to 999 (this number will change everytime you run
|
||||||
the test).*/
|
the test).*/
|
||||||
|
|
||||||
// DO NOT use Math.floor(Math.random() * 1000) in your code,
|
// DO NOT use Math.floor(Math.random() * 1000) in your code,
|
||||||
// this test generates a random number, then passes it into your code with a function parameter.
|
// this test generates a random number, then passes it into your code with a function parameter.
|
||||||
// If this doesn't make sense, you should go read about functions here: https://www.theodinproject.com/paths/foundations/courses/foundations/lessons/fundamentals-part-3
|
// If this doesn't make sense, you should go read about functions here: https://www.theodinproject.com/paths/foundations/courses/foundations/lessons/fundamentals-part-3
|
||||||
const number = Math.floor(Math.random() * 1000)
|
const number = Math.floor(Math.random() * 1000);
|
||||||
/*The .match(/((hey))/g).length is a regex that will count the number of heys
|
/*The .match(/((hey))/g).length is a regex that will count the number of heys
|
||||||
in the result, which if your function works correctly will equal the number that
|
in the result, which if your function works correctly will equal the number that
|
||||||
was randomly generated. */
|
was randomly generated. */
|
||||||
expect(repeatString('hey', number).match(/((hey))/g).length).toEqual(number);
|
expect(repeatString("hey", number).match(/((hey))/g).length).toEqual(
|
||||||
|
number
|
||||||
|
);
|
||||||
});
|
});
|
||||||
test.skip('works with blank strings', () => {
|
test("works with blank strings", () => {
|
||||||
expect(repeatString('', 10)).toEqual('');
|
expect(repeatString("", 10)).toEqual("");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
const reverseString = function() {
|
const reverseString = function (string) {
|
||||||
|
let splitString = string.split("");
|
||||||
|
|
||||||
|
return splitString.reverse().join("");
|
||||||
};
|
};
|
||||||
|
|
||||||
// Do not edit below this line
|
// Do not edit below this line
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
const reverseString = require('./reverseString')
|
const reverseString = require("./reverseString");
|
||||||
|
|
||||||
describe('reverseString', () => {
|
describe("reverseString", () => {
|
||||||
test('reverses single word', () => {
|
test("reverses single word", () => {
|
||||||
expect(reverseString('hello')).toEqual('olleh');
|
expect(reverseString("hello")).toEqual("olleh");
|
||||||
});
|
});
|
||||||
|
|
||||||
test.skip('reverses multiple words', () => {
|
test("reverses multiple words", () => {
|
||||||
expect(reverseString('hello there')).toEqual('ereht olleh')
|
expect(reverseString("hello there")).toEqual("ereht olleh");
|
||||||
})
|
});
|
||||||
|
|
||||||
test.skip('works with numbers and punctuation', () => {
|
test("works with numbers and punctuation", () => {
|
||||||
expect(reverseString('123! abc!')).toEqual('!cba !321')
|
expect(reverseString("123! abc!")).toEqual("!cba !321");
|
||||||
})
|
});
|
||||||
test.skip('works with blank strings', () => {
|
test("works with blank strings", () => {
|
||||||
expect(reverseString('')).toEqual('')
|
expect(reverseString("")).toEqual("");
|
||||||
})
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,5 +1,17 @@
|
||||||
const removeFromArray = function() {
|
const removeFromArray = function (array, ...removeElements) {
|
||||||
|
/* removeFromArray([1, 2, 3, 4], 3); // should remove 3 and return [1,2,4]
|
||||||
|
|
||||||
|
([1, 2, 3, 4], 3, 2) should return [1,4]
|
||||||
|
``` */
|
||||||
|
|
||||||
|
let newArray = [];
|
||||||
|
|
||||||
|
array.forEach((element) => {
|
||||||
|
if (!removeElements.includes(element)) {
|
||||||
|
newArray.push(element);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return newArray;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Do not edit below this line
|
// Do not edit below this line
|
||||||
|
|
|
@ -1,25 +1,25 @@
|
||||||
const removeFromArray = require('./removeFromArray')
|
const removeFromArray = require("./removeFromArray");
|
||||||
|
|
||||||
describe('removeFromArray', () => {
|
describe("removeFromArray", () => {
|
||||||
test('removes a single value', () => {
|
test("removes a single value", () => {
|
||||||
expect(removeFromArray([1, 2, 3, 4], 3)).toEqual([1, 2, 4]);
|
expect(removeFromArray([1, 2, 3, 4], 3)).toEqual([1, 2, 4]);
|
||||||
});
|
});
|
||||||
test.skip('removes multiple values', () => {
|
test("removes multiple values", () => {
|
||||||
expect(removeFromArray([1, 2, 3, 4], 3, 2)).toEqual([1, 4]);
|
expect(removeFromArray([1, 2, 3, 4], 3, 2)).toEqual([1, 4]);
|
||||||
});
|
});
|
||||||
test.skip('ignores non present values', () => {
|
test("ignores non present values", () => {
|
||||||
expect(removeFromArray([1, 2, 3, 4], 7, "tacos")).toEqual([1, 2, 3, 4]);
|
expect(removeFromArray([1, 2, 3, 4], 7, "tacos")).toEqual([1, 2, 3, 4]);
|
||||||
});
|
});
|
||||||
test.skip('ignores non present values, but still works', () => {
|
test("ignores non present values, but still works", () => {
|
||||||
expect(removeFromArray([1, 2, 3, 4], 7, 2)).toEqual([1, 3, 4]);
|
expect(removeFromArray([1, 2, 3, 4], 7, 2)).toEqual([1, 3, 4]);
|
||||||
});
|
});
|
||||||
test.skip('can remove all values', () => {
|
test("can remove all values", () => {
|
||||||
expect(removeFromArray([1, 2, 3, 4], 1, 2, 3, 4)).toEqual([]);
|
expect(removeFromArray([1, 2, 3, 4], 1, 2, 3, 4)).toEqual([]);
|
||||||
});
|
});
|
||||||
test.skip('works with strings', () => {
|
test("works with strings", () => {
|
||||||
expect(removeFromArray(["hey", 2, 3, "ho"], "hey", 3)).toEqual([2, "ho"]);
|
expect(removeFromArray(["hey", 2, 3, "ho"], "hey", 3)).toEqual([2, "ho"]);
|
||||||
});
|
});
|
||||||
test.skip('only removes same type', () => {
|
test("only removes same type", () => {
|
||||||
expect(removeFromArray([1, 2, 3], "1", 3)).toEqual([1, 2]);
|
expect(removeFromArray([1, 2, 3], "1", 3)).toEqual([1, 2]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue