不使用 splice 等函数,使用双指针交换元素实现

function removeWithoutCopy(arr, item) {
    var left = 0, right = 0
    while(right < arr.length) {
        if(arr[left] === item && arr[right] !== item) {
            // 解构写法,也可以自己写 swap
            [arr[right], arr[left]] = [arr[left], arr[right]]
        }
        if(arr[left] !== item) {
            left++
        }
        right++
    }
    arr.length = left
    return arr
}