filter语法:使用filter会创建一个新数组,所以原数组不变
array.filter(function(value,index,arr), thisValue)
其中:arr:数组(可选)
index:数组元素的下标索引(可选)
value:数组中的值(必须)
filter是过滤的意思,不是过滤掉啥的意思,而是根据返回值判断保留啥!!!
filter是根据返回值是ture还是false来决定是保留还是丢弃的
(filter的返回值是true:保留)(对的保留)
(filter的返回值是false:丢弃)(错的丢弃)
例:保留数组中某一特定值(原数组不变)
var arr = [1,2,3,4,5,6]
var arr5 = arr.filter(function(value,index,arr){
return value == 5
})
console.log(arr5)
console.log(arr)
例:删除数组中某一特定值
var arr =[1,2,3,4,5,6]
var arr5 = arr.filter(function(value,index,arr){
return value != 5
})
console.log(arr5)
console.log(arr)
例:保留奇数
var arr = [1,2,3,4,5,6]
var arrji = arr.filter(function(value){
return value % 2 == -1
})
console.log(arrji)
例:去掉元素中重复的元素
var arr = [1,11,21,31,41,51,61,71,81,91,12,22,31]
var arrchong = arr.filter(function(value,index,arr){
return arr.indexOf(value) == index//查看value第一次出现的位置是否和它的下标相等
//这里的arr.indesOf(31)的值是:3,第一个31的下标是3,而最后一个的下标其实是12
})
console.log(arrchong)
原文:https://www.cnblogs.com/maoyi/p/13752137.html