Sunteți pe pagina 1din 10

Module based public and private encapsulation.

Var someModule = (function(){


Var isDivisor = function(b){
return b === 0;
},
doDivision = function(a, b){
if(!isDivisorZero(b))
return a/b;
else
return Divisor cannot be zero;
};
Return {
doDivision: doDivision
}
})();
someModule.doDivision(9,3);

On Click event per element:


Var colors=[red,green,blue],
clickEvent = function(i){
return function() {
alert(colors[i]);
};
};
For(var i=0;i<colors.length;i++){
Document.getElementByClassName(colors[i]).onclick = clickEvent(i);
}
Arrays for loops

For each:
Var myArray = [C,D,E];
myArray.forEach(function(element, index){
console.log();
});
Map:
myArray.map(function(element){
return element.toUpperCase();
});
Reduce:
myArray.reduce(function(prev,current){
return previous + current;
});
Every:
myArray.every(function(elm){
return elm >=18;
});
Filter:
myArray.filter(function(elem){
return (elem%2 == 0);
});
Bind:
Var atype = {
Name: atype,
Total: 400,
aFeeDud: function(fee){
this.total = this.total-fee;
}
};
Var btype = {

Name: btype,
Total: 1200
};
Var btypeDed = atype.aFeeDud.bind(btype,200);
btypeDed(); //1000
//Without bind
Function.prototype.bind = Function.prototype.bind || function(context) {
Var self = this,
Return function() {
Return self.apply(context,arguments);
};
}
Chk to see if 2 is passed as parameter in a function
Function isTwoPassed()
{
Var args = Array.prototype.slice.call(arguments);
Return args.indexOf(2) != -1;
}
isTwoPassed(1,2,3);
Currying:
Function.prototype.curry = function() {
If(arguments.length<1)
Return this;
Var self = this;
Var args = Array.prototype.slice.call(arguments);
Return function() {
Return self.apply(this,args.concat(Array.prototype.slice.call(arguments)));
}
}

Function conv = function(f,s,i){


Return i*f+s;
}
Var mileskm = conv.curry(1.62,km);
Mileskm(3);
Verify prime num;
isPrime(137);
function isPrime(num)
{
Var div = 2;
While(div < num) {
If(num%div == 0)
Return false;
else {
div ++;
}
}
return true;
}
function isPrime(num){
var div = 3,limit = Math.sqrt(num);
if(num ==2 || num == 3) return true;
if(num%2 == 0) return false;
while(div <= limit){
if(num%div == 0) return false;
else div +=2;
}
return true;
}
Prime factrs: return array

function primeFactors(num){
var factors = [];
var div = 2;
while(num > 2) {
if(num % div == 0 )
{
factors.push(div);
num/=div;
}
else div ++;
}
return factors;
}
Fibonacci nth num;
function genFib(i)
{
if(i < 2) return i;
return genFib(i-1)+genFib(i-2);
} //O(2(n))
function genFib(n)
{
var arr = [0,1];
for(var i=2;i<=n;i++)
arr[i]= arr[i-1]+ arr[i-2];
return arr[n];
} //O(n)
Greatest Common Divisor
function GCD(a,b)
{
if(b == 0) return a;

return GCD(b,a%b);
}
Remove duplicates in an array = [1,2,2,2,2,3,4,5,1,6,7,6,4,5]
function removeDup(arr)
{
var exist = {},
outArr = [],
elem;
for(var i=0;i<arr.length;i++)
{
elm = arr[i];
if(!exist[elm])
{
outArr.push(elm);
exist[elm] = true;
}
}
return outArr;
}
Merge two sorted arrays
function merge(a,b)
{
var merged = [], i=0,j=0;
while(a[i] && b[j])
{
if(a[i]< b[j]) {
merged.push(a[i++]);
}
else if(a[i] == a[j]) {

merged.push(a[i++]);
merged.push(b[j++]);
}
else {
merged.push(b[j++]);
}
}
while(a[i]){
merged.push(a[i++]);
}
while(b[j]) merged.push(b[j++]);
return merged;
}
swapping num without temp
function(a,b)
{
if(a>b) {swap(b,a);}
else {b = b a;
a= a+b;
b = a-b;}
}
Reverse a string
function reverseString(str)
{
if(!str || str.length<2) return str;
return str.split().reverse().join();
}
function reverse(str)
{

if(str === )
return ;
return reverse(str.substr(1))+str.charAt(0);
}
String.prototype.reverse = function(str){
return this.split().reverse().join();
}
Reverse words sequence:
str.split( ).reverse().join( );
reverse words in place:
str.split( ).reverse().join( ).split().reverse().join();
First non repeating char
function(str)
{
var strObj = {},
len = str.length;
for(var i=0;i<len;i++)
{
if(strObj[str[i]])
{
strObj[str[i]]++;
}
else strObj[str[i]] = 1;
}
for (var j in strObj){
if(strObj[j] == 1)
return j;
}
}

Sum of two is present in the array or not


function(arr, sum) {
var differ={},diff, len = arr.length;
for(var i=0;i<len;i++)
{
diff = sum arr[i];
if(differ[diff])
return true;
else
differ[arr[i]] = true;
}
return false;
}
Max difference between 2 elems s.t. larger elem appears last i<=j
int findMaxDiff(int a[], int size)
{
int maxDiff = arr[1]-arr[0];
int minEle = arr[0];
for(int i=1;<n;i++)
{
if(arr[i]-minEle > maxDiff)
maxDiff = arr[i] minEle;
if(arr[i]<minEle)
minEle = arr[i];
}
return maxDiff;
}
Largest sum of any two elems
function findLargestSum(arr)

{
if(arr.length<2) return null;
var biggest = arr[0]>arr[1]?arr[0]:arr[1];
var second = arr[0]>arr[1]?arr[1]:arr[0];
for(var i= 2;i<arr.length;i++)
{
if(arr[i]>biggest){
second = biggest;
biggest = arr[i];
}
else if(arr[i]>second)
second = arr[i];
}
return biggest+second;
}
count num of zeros in 1 to n
function countZeros(n)
{
var count =0;
while(n%10 == 0)
{
count += (n/10);
n/=10;
}
}

S-ar putea să vă placă și