Hoje nos vamos fazer a função range() bem conhecida no PHP, a função cria uma matriz contendo um intervalo de elementos em Javascript.
Função range(start,end)
function range(start,end){
// bloco para numeros ;
if (typeof start === 'number' && typeof end === 'number') {
let ar = [];
for (let i = start; i <= (end); i++) {
ar[ar.length] = i;
}
return ar;
}
//bloco para String
else if(typeof start === 'string' && typeof end === 'string'){
let arr = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
start = start.toUpperCase();
end = end.toUpperCase();
vali = [0,0];
p = [0,0];
for (i = 0;i <= (arr.length - 1);i++){
if(start === arr[i]){
vali[0] = 1;
p[0] = arr.indexOf(arr[i]);
}
if(end === arr[i]){
vali[1] = 1;
p[1] = arr.indexOf(arr[i]);
}
}
if(vali[0] && vali[1]){
r = [];
for (i = p[0];i <= (p[1]);i++){
r[r.length] = arr[i];
}
return r;
}else {
throw new UserException("valor invalido");
}
}
}
Entendo a função
Muito fácil de entende a função se o dois primeiro parâmetro for do tipo number a função vai retorna uma matriz de números, ou se o dois primeiros parâmetro for do tipo String a função vai retornar uma matriz de caracteres.
Exemplos
console.log(range(1,10));
//(10) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
console.log(range(3,10));
//(7) [3,4, 5, 6, 7, 8, 9, 10];
Exemplos 2 pegar alfabeto
console.log(range("A",'M'));
//(13) ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M"]
console.log(range("M",'Q'));
//(5) ["M", "N", "O", "P", "Q"]
Comentários
Postar um comentário