正如多次所述,您没有理由应该这样做。不可能像 map 那样做,因为 map 返回一个新数组。您可以更改原始数组,也可以复制原始数组,以免更改它。// this modifies the orginal arrayvar arr1 = [1,2,3]arr1.filter((v,index,arr)=>{ arr[index] = v * 2; return true})console.log(arr1)// or you can clone it and do the same thing// this modifies the cloned arrayvar arr2 = [1,2,3]var arr3 = arr2.slice()arr3.filter((v,index,arr)=>{ arr[index] = v * 2; return true})console.log(arr2, arr3)所以不,你不能用过滤器重新创建地图,因为你必须修改原始数组或欺骗并使用数组的副本。