在JQuery里面呢,又一个.map() .map(callback(index,domElement)) 把每个元素通过函数传递到当前匹配集合中,生成包含返回值的新的 jQuery 对象 这个时候返回的其实是JQ封装的数组 一般后面跟.get()来让返回的对象变成基础的数组 比如: $(':abc').map(function() { // return XXX }).get() 原生的js中的map其实是Array.prototype.map const new_array = old_arr.map(callback[, thisArg]) 这里的callback其实是为了生成新数组的函数,old_arr数组里面的元素依次执行这个函数,返回一个new_arr * 注意:arr.map()返回的是一个新数组,每个元素都是回调函数的结果。* 举个例子: const arr = [2,4,6,8] arr.map(function(t){ console.log(t) // 2 4 6 8 }) 也可以是箭头函数来,而且可以根据不同的数据结构来对数组进行重新的操作 arr.map((abc) => { // 可以对arr中的abc进行一系列操作 // 当然这里还是可以继续对abc进行map,根据你的数据的结构 abc.map((edf) => { // 对def 进行操作 }) }) 当然,我们还可以利用它和call的结合来做一些有趣的事情,比如反转一个字符串 const string = 'abcde'; Array.prototype.map.call(string, function(s) { return s; }).reverse().join(''); 在reverse()这一步的时候,返回的其实是一个数组,大家可以试验一下,因为map本身返回的就是一个回调函数执行之后的数组,我们通过join()来让它重新变回字符串