js 數組刪除元素,並獲得真實長度


前言:js數組刪除一般采用數組的 splice 方法和 delete 方法,但是采用 delete 方法后直接數組.kength 來獲取數組長度是獲取不了真實長度的,下面詳細講解一下。

一、splice 方法

  splice ( index , len , [ item ] )   該方法會改變原始數組。

  index:數組開始下標。len:替換/刪除的長度。item:替換的值,刪除操作的話 item為空

  舉例

        //清空整個數組
        arr.splice(0, arr.length);
        console.log(arr);

        //刪除一個元素
        var arr = ["11", "22", "33", "44", "55"];
        arr.splice(1, 1);
        console.log(arr);

        //刪除一個,增加兩個
        arr.splice(1, 1, "34", "43");
        console.log(arr);

 二、delete 刪除數組元素

  只是被刪除的元素變成了 undefined,其他的元素的鍵值還是不變。

        var arr = ["11", "22", "33", "44", "55"];
        console.log(arr);

        delete arr[2];
        console.log(arr);

        for(var i = 0; i < arr.length; i++){
          console.log(arr[i]);
        }

打印出來的結果:可以看出 delete 方式不會改變數組的長度,而且刪除的元素只會變成 undefined。

  這時想獲取數組真實長度,可以采取下面這種方式:

        var length = 0;
        for(var a in arr){
          length ++;
        }
        console.log("數組真實長度" + length);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM