Array.prototype.foreach和Array.prototype.map的区别是foreach返回值是undefined
Array.prototype.forEach = function forEach(callback) {
var self = this,
arr = [],
i = 0;
if (typeof callback !== "function") throw new TypeError('callback must be an function!');
if (self[i]) {
for (; i < self.length; i++) {
if (self[i]) {
arr[i] = callback(self[i], i);
}
}
}
}
var items = ['item1', , , 'item2', 'item3'];
items.forEach((currentvalue, i) => {
console.log(currentvalue, i);
});