0
You guys, it’s okay?
I am trying to create a function (I will call to execute) that takes as parameter another function (I will call word), a list of objects and a list of attributes to be accessed in the list objects.
This "run" function will execute the function it receives as parameter, but since I don’t know what parameters I should pass in the function I receive in "run", I want a generic way to pass the parameters...
Follow the example code:
//Lista com os parametros que quero pegar do objeto
var listKeyParam = ["nome", "idade", "altura"];
//Lista de objetos
var objs = [
{ nome: "Anderson", idade: "21", altura: "1.85" },
{ nome: "Ranger", idade: "18", altura: "1.85" },
{ nome: "Renan", idade: "21", altura: "1.85" },
{ nome: "Guto", idade: "70", altura: "2.15" }
];
//Funcao generica testar o recebimento dos parametros
function palavra(nome,idade,altura) {
console.log("nome => ",nome);
console.log("idade => ",idade);
console.log("altura => ", altura);
}
//Funcao que deve receber uma funcao como parametro,
//uma lista de objetos e a lista com os atributos que devem ser pegos dos objetos
function executar(funcao, objs, listKeyParam) {
objs.forEach((item, index) => {
let argumentsFunc =[]
$.each(item,(paramKey,paramValue) => {
if(listKeyParam.includes(paramKey)) argumentsFunc.push(paramValue);
});
funcao(arguments = argumentsFunc);
});
}
//Executando funcao
executar(palavra, objs , listKeyParam);
Man, thank you so much! That’s exactly what I’ve been wanting to say/
– Anderson Duarte
@Andersonduarte thank you very much, vlw ;)
– Marcelo Vismari