1.过滤数组
let arr = [
{ type: 1, name: '111' },
{ type: 1, name: '111' },
{ type: 2, name: '222' },
{ type: 3, name: '333' },
{ type: 2, name: '222' },
{ type: 1, name: '111' }
]
console.log(arr.filter(item => item.type === 1)); // length = 3
console.log(arr.filter(item => item.type === 2)); // length = 2
console.log(arr.filter(item => item.type === 3)); // length = 1
console.log(arr.filter(item => item.type === 4)); // length = 02.清除数组不规则项
var arr = [
'1',
'2',
undefined,
'3.jpg',
'',
null
]
var newArr = arr.filter(item => item)
console.log(newArr) //[ '1', '2', '3.jpg' ]3.数组去重
let arr = [8, 7, 81, 90, 1, 2, 3, 4, 4, 1, 81, 5, 2, 2, 6, 7, 91];
let newArr = arr.filter((
item, index, self) => {
console.log(self);
return self.indexOf(item) === index
}
)
console.log(newArr); //[ 8, 7, 81, 90, 1, 2, 3, 4, 5, 6, 91 ]
// self 指代当前过滤的arr
// 当没次条件符合时,self会push当前item进入self中,说明self是一个新的数组对象
// 当self的index 和 过滤数组对象的index不符合时,会push