Skip to main content

get a sentence and convert each letter first character to uppercase using function composition

//Function composition combine two function to one 


//combine first name and last name and and return full name in camel case

const append=()=>{

   const arr=[];

   if(arguments.length==1)

   {

     arguments=arguments[0].split(" ");

   }

   for(let i=0;i<arguments.length;i++)

   {

     arr.push(arguments[i]);

   }

   

   return arr;

}

const cap=(...letters)=>{

   let updateData="";

   for(let i=0;i<letters.length;i++)

   {

       const letter=letters[i];

       updateData+=letter.substr(0,1).toUpperCase()+letter.substr(1,letter.length-1)+" ";

   }

   return updateData;

}

const Pipe=()=>{

  const functions=arguments;

  return (...args)=>{

     for(let i=0;i<functions.length;i++)

     {

         const Function=functions[i];

         args=Function.call(this,...args);

     }

     return args;

  }

}



const myname=Pipe(append,cap);

console.log(myname("manish","chauhan"));

console.log(myname("sachin","singh","negi"));

console.log(myname("Ranjeet","chauhan"));

//but but i can also use it a different manner make first letter captial 

console.log(myname("Array has an array of methods. So by converting the object into an array, you have access to all of that. Woohoo"));


working example

https://stackblitz.com/edit/functioncomposition?file=index.js

Comments

Popular posts from this blog

Better Memory management with PixiJS or How to manage cpu and cpu memory in PixiJS.

PixiJS is my favorite framework when i am looking for a web games specially for mobile or desktop  PixiJS is fast blazing fast and you can get a decent FPS even on older device.   so here is my optimization techniques for PixiJs 1. manage your sprites in a better way use spritesheet to reduce the draw calls create big sprite sheet which contain multiple sprites can be draw in gpu with a single draw call. use TexturePacker  https://www.codeandweb.com/texturepacker  best tool when its comes to spritesheet 2. for floating point calculation round off calculation for example let  speed = 0.75 ; let  position = 100 ; console . log ( Math . round ( speed * position )) 3. don't create very big canvas when u need a big canvas size game just try to create a small canvas and translate it. 4. its very important one managing TextureCache in memory you can get all TextureCache list by using  Object.entries(PIXI.utils.TextureCache); so even you use ap...

adding particles Effect in pixijs using https://pixijs.io/pixi-particles-editor/

adding particle in pixijs is very easy using the below tool more information can be found below https://github.com/pixijs/pixi-particles https://pixijs.io/pixi-particles-editor/ required packages  /// < reference path = "node_modules/pixi-particles/ambient.d.ts" /> import 'pixi-particles' code of particle delcare a     global variable   private emitter ?: Emitter ; const img = PIXI . Texture . from ( "./assets/images/particle.png" ); this . emitter = new Emitter ( this ,[ img ],{ "alpha" : { "start" : 0.62 , "end" : 0.39 }, "scale" : { "start" : 0.1 , "end" : 0.9 , "minimumScaleMultiplier" : 1.25 }, "color" : { "start" : "#ffff8f" , "end" : ...