javascript 數組 filter使用方法


 

和map類似,Array的filter也接收一個函數。但是和map不同的是, filter把傳入的函數依次作用於每個元素,然后根據返回值是 true 還是false決定保留還是丟棄該元素。

 

 

fiter();該回調函數接受三個參數 

  1.表示arr的某個元素。

  2.表示arr每一位的下標

  3.表示arr自身 常用 self表示 

 

 

實例1    在一個數組中 刪除偶數 

1 var arr = [1, 2, 4, 5, 6, 9, 10, 15];
2 var r = arr.filter(function (x) {
3  return x % 2 !== 0; 
4 });
5 r; // [1, 5, 9, 15]

實例2   刪除數組中的空字符串 

 

1 var arr = ['A', '', 'B', null, undefined, 'C', ' '];
2 var r = arr.filter(function (s) {
3  return s && s.trim(); // 注:IE9(不包含IE9)以下的版本沒有trim()方法
4 });
5 arr; // ['A', 'B', 'C']

 

 實例3  數組去重方法

 

1 var arr = [7,6,5,214,5,9,7,80,3,6,45,48,46,24,26];
2      var a = arr.filter(function(x,item,arr){
3         
4          return arr.indexOf(x) ===item;
5      })
6     console.log(a.toString())

 

去重主要依靠的是indexOf方法 總是返回第一個元素的位置,后續重復元素位置與 indexOf 的位置不相等 因此被filter過濾掉

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM