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]