Я определил свою собственную функцию карты, которая служит той же цели, что и метод объектов Array. (Я делаю это, чтобы учиться). Код ниже.
Я хотел бы использовать метод Array forEach внутри моего собственного определения карты, но я что-то теряю концептуально. Как я смогу сделать это, используя forEach?
Работа без использования forEach
// transforming with map
// NOTE: map is already defined in JavaScript
function map(array, transformation) {
var mapped = [];
for (var index in array) {
var currentElement = array[index];
var transformedElement = transformation(currentElement);
mapped.push(transformedElement);
}
return mapped;
}
Моя попытка использования forEach
function mapForEach(array, transformation) {
var mapped = [];
array.forEach(transformation(currentVal, index, array, mapped));
return mapped;
}
function transformation(person, index, array, accumulator) {
var name = person.name;
accumulator.push(name);
}