freecodecamp: Basic algorithm Scripting
note code snip to remember
Reverse a String
" str= str.split("").reverse().join("");"
Factorialize a Number
" if(num===0)
return 1;
if(num<0)
return "negative";
else
return num*factorialize(num-1);"
Find the Longest Word in a String
" let words= str.split(' ');
words.sort((a,b)=> b.length - a.length);
return words[0].length;"
Return Largest Numbers in Arrays
" arr.map(a4=>a4.sort((a,b)=>(b-a)));
return [arr[0][0],arr[1][0],arr[2][0],arr[3][0]];"
Confirm the Ending
let lTarget=target.length;
let r= str.slice(str.length-lTarget,str.length);
return r===target;
Repeat a String Repeat a String
"function repeatStringNumTimes(str, num) {
// repeat after me
if(num<=0)
return '';
else
{
let r='';
for(let i=0;i<num;i++)
{
r+=str;
}
return r;
}
}"
Truncate a String
" if (num<=0)
return ;
else{
return (str.length<=num) ? str : str.slice(0,num) +"...";
}"
Finders Keepers
"function findElement(arr, func ) {
return arr.filter(func)[0];
//let num = 0;
//return num;
}
findElement([1, 2, 3, 4], num => num % 2 === 0);"
Boo who
" return (typeof bool === "boolean") ? true : false;"
Title Case a Sentence
" let toL= str.toLowerCase();
let aL= toL.split(' ');
let a= aL.map(a=>a[0].toUpperCase() + a.substr(1,a.length-1));
return a.join(' ');
}"
Slice and Splice
" let arr1Cpy= arr1.slice(0,arr1.length);
let arr2Cpy= arr2.slice(0,arr2.length);
let a= arr2Cpy.slice(0,n);
let b= arr2Cpy.splice(n,arr2Cpy.length);
let c= a.concat(arr1Cpy);
console.log(a);
console.log(b);
console.log(c);
return c.concat(b) ;"
Falsy Bouncer
"return arr.filter(Boolean);"
Where do I Belong
" arr.sort((a,b)=>a-b);
let i=0;
for(i;i<arr.length;i++)
{
if(num<=arr[i])
return i;
}
return i;
}"
Mutations
"function mutation(arr) {
let desArr1= arr[0].toLowerCase().split('');
let desArr2= arr[1].toLowerCase().split('');
desArr1.sort();
desArr2.sort();
let min;
let count=0;
let maxArr=[];
let minArr=[];
let desArr=[];
if(desArr1.length>=desArr2.length)
{
minArr=desArr2.slice(0,desArr2.length);
maxArr=desArr1.slice(0,desArr1.length);
min=desArr2.length;
}
else
{
minArr=desArr1.slice(0,desArr1.length);
maxArr=desArr2.slice(0,desArr2.length);
min= desArr1.length;
}
let max=maxArr.length;;
for(let i=0;i<max;i++){
for(let j=0;j<min;j++)
{
if((maxArr[i]==minArr[j]&&maxArr[i-1]!=maxArr[i]))
desArr.push(minArr[j])
}
}
if(desArr.length==min)
return true;
else
return false;
}
mutation(["hello", "hey"]);"
Chunky Monkey
"function chunkArrayInGroups(arr, size) {
// Break it up.
if(arr.length<=size)
return ;
let l=arr.length;
let step=size;
let r=[]
let begin=0;
let end=size;
let last;
while(step<=l)
{
r.push(arr.slice(begin,end));
begin=end;
last=step;
step+=size;
end=step;
}
if(l%size!=0)
r.push(arr.slice(last,l));
return r;
}
chunkArrayInGroups(["a", "b", "c", "d"], 2);"
""
Nhận xét
Đăng nhận xét