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过滤掉

浙公网安备 33010602011771号