Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 85 additions & 24 deletions session2/index_extra.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,70 @@
// COMMENT YOUR SOLUTION OUT BEFORE YOU MAKE A PULL REQUEST
// ADD "SOLUTION BY [YOUR NAME]"

////// INSTRUCTIONS /////
// Almost similar but instead of sorting, I just get the max length from the
//array filter the array according to max length
// COMMENT YOUR SOLUTION OUT BEFORE YOU MAKE A PULL REQUEST
// "SOLUTION BY AYTAC GULEY"
// CHALLENGE 1: LONGEST WORD
// const longestWord = (sentence) => {
// const senArr = sentence.toLowerCase().match(/[a-z0-9]+/g);
// const maxLen = Math.max(...senArr.map((word) => word.length));
// const longestWordArr = senArr.filter((word) => word.length === maxLen);

// return longestWordArr.length === 1 ? longestWordArr[0] : longestWordArr;
// };

////// INSTRUCTIONS /////
// I just get the chunk number by dividing array length to
// the expected length and also findout the length of remainin
// in forEach loop, I created conditions according to chunk number
// and remaining number.
// COMMENT YOUR SOLUTION OUT BEFORE YOU MAKE A PULL REQUEST
// "SOLUTION BY AYTAC GULEY"
// CHALLENGE 2: ARRAY CHUNKING
// const chunkArray = (arr, len) => {
// const chunks = [];
// let chunk = [];
// const chunkNum = Math.floor(arr.length / len);
// const remaining = arr.length % len;

// arr.forEach((el) => {
// chunk.push(el);

// if (chunk.length === len) {
// chunks.push(chunk);
// chunk = [];
// }

// if (
// chunks.length === chunkNum &&
// chunk.length === remaining &&
// remaining !== 0
// ) {
// chunks.push(chunk);
// }
// });

// return chunks;
// };

////// INSTRUCTIONS /////
// Almost similar to concat() method.
// COMMENT YOUR SOLUTION OUT BEFORE YOU MAKE A PULL REQUEST
// "SOLUTION BY AYTAC GULEY"
// CHALLENGE 3: FLATTEN ARRAY

// const flattenArray = (arrays) => {
// let flattenArr = [];

// arrays.forEach((arr) => {
// flattenArr = [...flattenArr, ...arr];
// });

// return flattenArr;
// };

// CHALLENGE 1: LONGEST WORD
// Return the longest word of a string
// If more than one longest word, put into an array
Expand All @@ -17,33 +81,32 @@ function longestWord(sen) {}
// ex. chunkArray([1, 2, 3, 4, 5, 6, 7], 2) === [[1, 2],[3, 4],[5, 6],[7]]

function chunkArray(arr, len) {
// SOLUTION BY Jawad Mohammad
// return arr.reduce((acc, cv, ci, array) => {
// if (ci % len === 0 ) {
// acc.push(array.slice(ci, ci+len));
// }
// return acc;
// }, []);

// ----- SOLUTION BY Jon Bodnar ----- //
// const chunked = [];
// while (arr.length) {
// chunked.push(arr.splice(0, len));
// }
// return chunked;
// ----- END ----- //
// SOLUTION BY Jawad Mohammad
// return arr.reduce((acc, cv, ci, array) => {
// if (ci % len === 0 ) {
// acc.push(array.slice(ci, ci+len));
// }
// return acc;
// }, []);
// ----- SOLUTION BY Jon Bodnar ----- //
// const chunked = [];
// while (arr.length) {
// chunked.push(arr.splice(0, len));
// }
// return chunked;
// ----- END ----- //
}

// CHALLENGE 3: FLATTEN ARRAY
// Take an array of arrays and flatten to a single array
// ex. [[1, 2], [3, 4], [5, 6], [7]] = [1, 2, 3, 4, 5, 6, 7]

function flattenArray(arrays) {
// SOLUTION BY Jawad Mohammad
// return arrays.reduce((acc, cv) => {
// acc.push(...cv);
// return acc;
// }, []);
// SOLUTION BY Jawad Mohammad
// return arrays.reduce((acc, cv) => {
// acc.push(...cv);
// return acc;
// }, []);
}

// CHALLENGE 4: ANAGRAM
Expand All @@ -61,7 +124,7 @@ function isAnagram(str1, str2) {}
function letterChanges(str) {}

// Call Function
const output = longestWord("Hello there, my name is Brad");
const output = longestWord('Hello there, my name is Brad');

console.log(output);
////// INSTRUCTIONS /////
Expand Down Expand Up @@ -117,10 +180,8 @@ function chunkArray(arr, len) {
// return Array.from({ length: Math.ceil(arr.length / len) }, (v, i) =>
// arr.slice(i * len, i * len + len)
// );

// SOLUTION BY @jerryakpera
// const chunks = []

// while (arr.length >= len) {
// chunks.push(arr.splice(0, len))
// }
Expand Down Expand Up @@ -168,6 +229,6 @@ function letterChanges(str) {
}

// Call Function
const output = longestWord("Hello there, my name is Brad");
const output = longestWord('Hello there, my name is Brad');

console.log(output);