- map(): 返回一个由回调函数的返回值组成的新数组
 - filter(): 将所有在过滤函数中返回 true 的数组元素放进一个新数组中并返回
 - find(): 找到第一个满足测试函数的元素并返回那个元素的值,如果找不到,则返回 undefined。
 - findIndex(): 找到第一个满足测试函数的元素并返回那个元素的索引,如果找不到,则返回 -1。
 - every(): 如果数组中的每个元素都满足测试函数,则返回 true,否则返回 false。
 - some(): 如果数组中至少有一个元素满足测试函数,则返回 true,否则返回 false。
 - reduce(): 从左到右为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值
 
/* 实现map()*/export function map (array, callback) {  const arr = []  for (let i = 0; i < array.length; i++) {    arr.push(callback(array[i], i))  }  return arr}/* 实现filter()*/export function filter(array, callback) {  const arr = []  for (let i = 0; i < array.length; i++) {    if (callback(array[i], i)) {      arr.push(array[i])    }  }  return arr}/* 实现find()*/export function find (array, callback) {  for (let i = 0; i < array.length; i++) {    if (callback(array[i], i)) {      return array[i]    }  }  return undefined}/* 实现findIndex()*/export function findIndex (array, callback) {  for (let i = 0; i < array.length; i++) {    if (callback(array[i], i)) {      return i    }  }  return -1} 实现every() */ export function every (array, callback) {  for (let i = 0; i < array.length; i++) {    if (!callback(array[i], i)) { // 只有一个结果为false, 直接返回false      return false    }  }  return true}/* 实现some()*/export function some (array, callback) {  for (let i = 0; i < array.length; i++) {    if (callback(array[i], i)) { // 只有一个结果为true, 直接返回true      return true    }  }  return false}/*     reduce()*/function reduce(array, callback, initValue) {  let acc = initValue;  let startAtIndex = 0;  if (initValue === undefined) {    acc = array[0];    startAtIndex = 1;  }  for (let i = startAtIndex; i < array.length; i++) {    acc = callback(acc, array[i], i, array)  }  return acc;}