兩種方法: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();
登入後複製
方法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)
登入後複製
說明: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);
登入後複製
輸出結果:
【相關推薦:、】
以上就是es6陣列怎麼去掉空資料的詳細內容,更多請關注TW511.COM其它相關文章!