移除數組中的元素(操作原數組)

題目:

移除數組 arr 中的所有值與 item 相等的元素,直接在給定的 arr 數組上進行操作,並將結果返回

輸入:

[1,2,3,4,2] ,2

輸出:

[1,3,4]


使用splice()刪除與item相同的值並把數組索引回退一個值(i--)

function removeWithoutCopy(arr, item) {
    for (var i = 0; i< arr.length;i++){

      if(arr[i] === item){

       arr.splice(i,1);

        i--;

     }

    }

    return arr;
}

把數組看成是隊列,等於item元素直接刪除,不等於的,先push再====>>刪除。

function removeWithoutCopy(arr, item) {
    var n = arr.length;
    for (var i = 0; i<n;i++) {
        if(arr[0] !== item){
            arr.push(arr[0]);
        }
        arr.shift();
    }
    return arr;
}


function removeWithoutCopy(arr, item) {
    var n = arr.length;
    for (var i = 0; i<n;i++) {
        if(arr[0] !== item){
            arr.push(arr[0]);
        }
        arr.splice(0,1);
    }
    return arr;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章