當前位置:編程學習大全網 - 網站源碼 - js 內置函數filter()能傳參數進去嗎

js 內置函數filter()能傳參數進去嗎

請問妳說的是Array的filter函數嗎?Array的filter原生實現是只能傳遞壹個方法。

使用方式如下?

語法

var new_array = arr.filter(callback[, thisArg])

參數

callback

用來測試數組的每個元素的函數。調用時使用參數?(element, index, array)。

返回true表示保留該元素(通過測試),false則不保留。

thisArg

可選。執行?callback?時的用於?this?的值。

返回值

壹個新的通過測試的元素的集合的數組

如果需要修改傳入的function,可以使用javascript的bind函數修改,例如以下例子:

var?call?=?function(element,index,array){?console.log(arguments)}

undefined

[1,2,3].filter(call)

VM637:1?Arguments(3)?[1,?0,?Array(3),?callee:?,?Symbol(Symbol.iterator):?]

VM637:1?Arguments(3)?[2,?1,?Array(3),?callee:?,?Symbol(Symbol.iterator):?]

VM637:1?Arguments(3)?[3,?2,?Array(3),?callee:?,?Symbol(Symbol.iterator):?]

[]

//通過bind函數將call的參數列表之前增加壹個字符串'a'

[1,2,3].filter(call.bind(null,'a'))

VM637:1?Arguments(4)?["a",?1,?0,?Array(3),?callee:?,?Symbol(Symbol.iterator):?]

VM637:1?Arguments(4)?["a",?2,?1,?Array(3),?callee:?,?Symbol(Symbol.iterator):?]

VM637:1?Arguments(4)?["a",?3,?2,?Array(3),?callee:?,?Symbol(Symbol.iterator):?]

[]

  • 上一篇:360電話手表支付寶支付需要密碼嗎?
  • 下一篇:antdesigniframe刷新父頁面
  • copyright 2024編程學習大全網