TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Código funcional de filtro de valores utilizando a função curry

Por:   •  23/11/2021  •  Trabalho acadêmico  •  395 Palavras (2 Páginas)  •  77 Visualizações

Página 1 de 2

let curry = (fn) => {

if(typeof fn !== 'function'){

throw Error('No function provided');

}

return function curriedFn(...args){

if(args.length < fn.length){

return function(){

return curriedFn.apply(null, args.concat( [].slice.call(arguments) ));

}

}

return fn.apply(null, args);

}

}

const filtro = (vl1,vl2,vl3,vl4) => {

if(vl2=="" && vl4!="" && vl3!=null){

return vl1.filter((item)=>vl3(item.cargaHoraria) && item.categoria==vl4)

}

if(vl4=="" && vl2!="" && vl3!=null){

return vl1.filter((item)=>(item.titulo.search(vl2))>=0 && vl3(item.cargaHoraria))

}

if(vl2=="" && vl4=="" && vl3!=null){

return vl1.filter((item)=>vl3(item.cargaHoraria))

}

if(vl2=="" && vl4!="" && vl3==null){

return vl1.filter((item)=>item.categoria==vl4)

}

if(vl4=="" && vl2!="" && vl3==null){

return vl1.filter((item)=>(item.titulo.search(vl2))>=0)

}

if(vl2!="" && vl4!="" && vl3==null){

return vl1.filter((item)=>(item.titulo.search(vl2))>=0 && item.categoria==vl4)

}

if(vl2=="" && vl4=="" && vl3==null){

return vl1

}

return vl1.filter((item)=>(item.titulo.search(vl2))>=0 && vl3(item.cargaHoraria) && item.categoria==vl4)

}

curry(filtro)([{titulo: "Exercício de academia" , cargaHoraria: 10 , categoria: "curso"},

{titulo: "dasdasdsa academia" , cargaHoraria: 20 , categoria: "curso"},

{titulo: "fdsfdsfsd academia" ,

...

Baixar como (para membros premium)  txt (2 Kb)   pdf (31.9 Kb)   docx (7.6 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com