知方号

知方号

Array.prototype.filter()

Array.prototype.filter()

filter() 會將所有陣列中的元素分別傳入一次至 callback 函式當中,並將所有傳入此回呼函式並得到回傳值為 Truthy 的元素建構成一個新的陣列。callback 函式只會於陣列目前迭代之索引有指派值時被呼叫,回呼函式不會在該陣列索引已被刪除或從未被賦值時被調用。原始陣列中沒有通過 callback 檢驗的元素會被簡單的跳過,且不會被包含在新建立的陣列中。

callback 函式於被調用時會傳入三個參數:

元素值 元素之索引 被迭代的陣列物件

若有提供 thisArg 參數予 filter 方法,thisArg 將會被當作回呼函式的 this 值,否則 this 會是 undefined。callback 的最終 this 值是依據函式的 this 規則來決定。

filter() 不會修改呼叫它的原始陣列。

由 filter() 方法所回傳之新陣列的範圍,於 callback 函式第一次被調用之前就已經被設定。而在呼叫 filter() 之後才加至原始陣列中的元素,將不會傳入 callback 當中。假如原始陣列中元素的值改變或被刪除了,則 callback 得到此元素的值將會是 filter() 傳入元素當下的值。而被刪除的原始陣列元素並不會被迭代到。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。