es6陣列怎麼去掉空資料

2022-10-20 18:00:32

兩種方法:1、用for找到值為空的元素,用splice()刪除,語法「for(i=0;i<陣列長度;i++){if(this[i]==""||typeof(this[i])=="undefind"){this.splice(i,1);i--;}}」;2、用filter()過濾陣列,語法「function f(v){return (v);}a2=a1.filter(f);」。

前端(vue)入門到精通課程:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API偵錯工具:

本教學操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。

es6陣列去掉空資料的兩種方法

方法1:利用for迴圈和splice()函數

  • 利用for迴圈遍歷陣列

  • 在迴圈體中找到值為空的元素

  • 根據元素的索引,利用splice()函數將該元素去掉

實現程式碼:

//陣列去空值
    var arr1=["某某","",3,5,"color","",3,"某某","color",""]
    console.log(arr1)
  //拓展陣列去空值的方法
    Array.prototype.removeEmpty=function () {
      for(var i=0;i<this.length;i++){
        if(this[i]==""||typeof(this[i])=="undefind"){
          this.splice(i,1);
          i--;
        }
      }
      return this;
    }
    var arr2=arr1.removeEmpty();
登入後複製

1.png

方法2:利用filter()函數過濾陣列,返回不為空的元素

filter() 函數會呼叫一個回撥函數來過濾陣列元素,返回符合條件的所有元素(建立一個新陣列來返回)

  • 只需要將符合條件設定為「不是空資料」即可

設定過濾條件的函數的寫法

function f(value){
	return (value);
}
登入後複製

使用filter() 函數呼叫一個回撥函數f(value)來過濾陣列即可。

實現程式碼:

//陣列去空值
	
function f(v){
	return (v);
}
var arr1=["某某","",3,5,"color","",3,"某某","color",""]
console.log(arr1)
var arr2=arr1.filter(f);
console.log(arr2)
登入後複製

2.png

說明:filter() 方法

filter() 方法建立一個新的陣列,新陣列中的元素是通過檢查指定陣列中符合條件的所有元素。

作用:可以返回陣列中滿足指定條件的元素。

array.filter(function callbackfn(Value,index,array),thisValue)
登入後複製

function callbackfn(Value,index,array):一個回撥函數,不可省略,最多可接受三個引數:

  • value:當前陣列元素的值,不可省略。

  • index:當前陣列元素的數位索引。

  • array:當前元素屬於的陣列物件。

返回值是一個包含回撥函數為其返回 true 的所有值得新陣列。如果回撥函數為 array 的所有元素返回 false,則新陣列的長度為 0。

下面通過範例來具體瞭解一下:返回全部偶數

var a = [2,3,4,5,6,7,8];
function f (value) {
	if (value % 2 == 0) {
		return true;
	}else{
		 return false;
	}
}
var b = a.filter(f);
console.log(b);
登入後複製

輸出結果:

3.png

【相關推薦:、】

以上就是es6陣列怎麼去掉空資料的詳細內容,更多請關注TW511.COM其它相關文章!