Learn: map realization

by NesterOne

JavaScript

function map(array, func) {
    var newArray = [];
    for (var i = 0; i < array.length; i++) {
        var newItem = function (index) {
            return func(index, array[index]);
        }(i);
        newArray.push(newItem);
    }
    return newArray;
}

console.log(map([1, 2, 3], function (index, num) {
    return num * num;
}));