1. map
function map(arr = [], callback) {
if (
!Array.isArray(arr) ||
typeof callback !== "function" ||
arr.length === 0
) {
return [];
}
const result = [];
for (let i = 0; i < arr.length; i++) {
const item = callback(arr[i], i, arr);
result.push(item);
}
return result;
}
2. filter
function filter(arr = [], callback) {
if (
!Array.isArray(arr) ||
arr.length === 0 ||
typeof callback !== "function"
) {
return [];
}
const result = [];
for (let i = 0; i < arr.length; i++) {
const item = callback(arr[i], i, arr);
item && result.push(arr[i]);
}
return result;
}