这是因为Array.filter()不会改变原始数组,而是返回一个新的过滤后的数组,所以在过滤最后一个元素时会出现问题。为了解决这个问题,可以使用Array.slice()方法来创建一个原始数组的副本并对其进行过滤,然后返回这个新的数组。示例代码如下:
const originalArray = [1, 2, 3, 4, 5]; const filteredArray = originalArray.slice(0, originalArray.length - 1).filter(item => item % 2 === 0); //filteredArray 现在是 [2, 4]