首頁  >  文章  >  web前端  >  es6 filter方法的參數有哪些

es6 filter方法的參數有哪些

青灯夜游
青灯夜游原創
2022-05-05 16:52:512842瀏覽

filter方法接受兩個參數:1、一個回呼函數,不可省略,用於設定條件來過濾數組元素,並傳回數組中滿足條件的元素,語法「function(當前值,當前索引,陣列物件){...}”;2、一個可選參數,可在回呼函數中為其用this關鍵字的物件。

es6 filter方法的參數有哪些

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

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

簡單來講: filter() 方法可以傳回陣列中符合指定條件的元素。

 filter() 方法接受兩個參數:

array.filter(callbackfn[, thisArg]);
  • callbackfn:回呼函數,不可省略,用於設定條件來過濾陣列元素,最多接受3個參數,語法:

    function(currentValue, index,arr)
    • currentValue 必須。目前元素的值

    • index 可選。目前元素的索引值

    • arr 可選。目前元素屬於的陣列物件

    對於陣列中的每個元素,filter 方法都會呼叫 callbackfn 函數一次。

  • thisArg:可選參數,可在 callbackfn 函數中為其用 this 關鍵字的物件。如果省略 thisArg,則 undefined 將用作 this 值。

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

對於陣列中的每個元素,filter 方法都會呼叫 callbackfn 函數一次(採用升序索引順序)。不為數組中缺少的元素呼叫該回呼函數。回呼函數的用法與 map 相同。

除了陣列物件之外,filter 方法可由具有 length 屬性,且具有已按數字編制索引的屬性名的任何物件使用。

範例1:篩選出陣列中的質數

var a = [31,33,35,37,39,41,43,45,57,49,51,53];
var a1 = a.filter(function(value, index, ar) {
    high = Math.floor(Math.sqrt(value)) + 1;
    for (var div = 2; div <= high; div ++) {
        if (value % div == 0) {
            return false;
        }
	}	
    return true;
}
);
console.log(a1);//31,37,41,43,53
</script>

es6 filter方法的參數有哪些

#範例2:過濾掉陣列中在指定範圍外的元素

var f = function (value) {
	if (typeof value !== &#39;number&#39;){
		return false;
	} else {
		return value >= this.min && value <= this.max;
	}
}
var a = [6, 12, "15", 16, "the", -12];
var obj = {min : 10, max : 20};
var r = a.filter(f, obj);
console.log(r);  //12,16

es6 filter方法的參數有哪些

【相關推薦:javascript影片教學web前端

以上是es6 filter方法的參數有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn