Funções para manipulação de arrays
SilvanoGPM opened this issue · comments
Eu adicionei algumas funções para manipular vetores baseado na função mapear
que já existia.
paraCada
Realiza uma determinada operação para cada elemento do vetor.
var array = [1, 2, 3];
var fn = função(valor){
escreva(valor);
};
paraCada(array, fn);
// 1
// 2
// 3
filtrar
Retorna um novo vetor com os valores que atenderem a condição.
var array = [1, 2, 3];
var fn = função(valor){
retorna valor % 2 == 0;
};
escreva(filtrar(array, fn));
// 2
reduzir
Cria um novo valor a partir de um vetor.
var array = [1, 2, 3];
var fn = função(total, valor){
retorna texto(total) + texto(valor);
};
escreva(reduzir(array, fn, ''));
// 123
encontrar
Pesquisa um valor em um vetor e o retorna(nulo caso não encontre):
var array = [1, 2, 3];
var fn = função(valor){
retorna valor > 1;
};
escreva(encontrar(array, fn));
// 2;
encontrarIndice
Pesquisa um valor em um veto e retorna o índice dele(retorna -1 caso não encontre):
var array = [1, 2, 3];
var fn = função(valor){
retorna valor > 2;
};
escreva(encontrarIndice(array, fn));
// 1
encontrarUltimo
Igual o encontrar
, porém funciona de trás pra frente.
var array = [1, 2, 3];
var fn = função(valor){
retorna valor > 1;
};
escreva(encontrarUltimo(array, fn));
// 3;
encontrarUltimoIndice
Igual o encontrarIndice
, porém funciona de trás pra frente.
var array = [1, 2, 3];
var fn = função(valor){
retorna valor > 2;
};
escreva(encontrarUltimoIndice(array, fn));
// 2
incluido
Retorna verdadeiro
caso o valor exista no vetor e falso
caso não exista.
var array = [1, 2, 3];
escreva(incluido(array, 3));
// verdadeiro
algum
Retorna verdadeiro
caso exista pelo menos um valor que atenda a condição.
var array = [1, 2, 3];
var fn = função(valor){
retorna valor > 3;
};
escreva(algum(array, fn));
// falso
todos
Retorna verdadeiro
caso todos os valores atendam a condição.
var array = [1, 2, 3];
var fn = função(valor){
retorna valor >= 1;
};
escreva(todos(array, fn));
// verdadeiro