filter遍历数组

252 阅读1分钟

filter遍历数组

filter:过滤数组中符合条件的元素并返回一个新的数组

语法

数组名.filter(function(v,i){
       return true
         })

运用场景1:去掉[13, 0, '', 90, 78, '' , ''] 数组的空字符串

let arr = [13, 0, '', 90, 78, '', '']
//遍历数组
let newArr = arr.filter(function(v, i) {
    //判断返回不是空字符串的元素
            return v !== ''
        })
	//输出新数组
        console.log(newArr);

运用场景2:去掉[13, 0, '', 90, 78, '' , ''] 数组的空字符串和0值

let arr = [13, 0, '', 90, 78, '', '']
//遍历数组
let newArr = arr.filter(function(v, i) {
    //判断返回不是空字符串,且不为0的元素
           return v !== '' && v !== 0
        })
	//输出新数组
        console.log(newArr);// [13, 90, 78]

运用场景3:数组去重 [1,1,2,3,4,4,5,6,6,6,6,7,7,8,9,9,9],排除重复出现过的元素

let arr = [1, 1, 2, 3, 4, 4, 5, 6, 6, 6, 6, 7, 7, 8, 9, 9, 9]
//遍历数组
let newArr = arr.filter(function(v, i) {
// 判断数组元素第一次出现的位置与索引是否相等
   return arr.indexOf(v) === i
})
//输出新数组
console.log(newArr);  //[1, 2, 3, 4, 5, 6, 7, 8, 9]