Yegoroot
5/20/2018 - 1:46 PM

JS__function высшего порядка.js

var aIndex = "a".charCodeAt(0); // 97
var alphabet = "";


// 1) Ф-ия высшего порядка

function buildString(n, callback) {
    var result = "";
    for (var i = 0; i < n; i++) {
        result += callback(i);
    }
    return result;
}

var alphabet = buildString(26, function(i) {
    return String.fromCharCode(aIndex + i);
});
alphabet; // "abcdefghijklmnopqrstuvwxyz"
var digits = buildString(10, function(i) { return i; });
digits; // "0123456789"

var random = buildString(8, function() {
 return
 String.fromCharCode(Math.floor(Math.random() * 26)
 + aIndex);
});
random; // "ltvisfjr" ( каждый раз будет другой результат)
 
 
 
 // 2) заместо этого 
 // повторяющихся фрагментов с одинаковой логикой

for (var i = 0; i < 26; i++) {
    alphabet += String.fromCharCode(aIndex + i);
}
alphabet; // "abcdefghijklmnopqrstuvwxyz"
// А другая часть программы создает строку, содержащую цифры:

var digits = "";
for (var i = 0; i < 10; i++) {
 digits += i;
}
digits; // "0123456789"
var random = "";
for (var i = 0; i < 8; i++) {
 random +=
 String.fromCharCode(Math.floor(Math.random() * 26)
 + aIndex);
}
random; // "bdwvfrtp" (каждый раз будет другой результат)