数组.foreach(函数)
这个函数里面默认的参数就是数组里面的每一个元素
注意:这里面函数不需要返回参数
var arr1 = [1,2,3,4,5,6,7]
arr1.foreach(function(item){
console.log(item)
})
得到
1
2
3
4
5
6
7
新数组 = 数组.filter(函数)
本质上是foreach的进阶版,在函数中对每一个item进行判定是否需要,如果返回true则会到新数组中去
var arr1 = [1,2,3,4,5,6,7]
var arr2 = arr1.filter(function(item){
if(item == 1 || item == 2){
return true
}else{
return false
}
})
console.log(arr2)
得到
[1,2]
单个变量 = 数组.find(函数)
本质上是filter的单个,
得到了第一个返回true的值就直接暂定遍历直接赋值给单个变量
var arr1 = [1,2,3,4,5,6,7]
var temp = arr1.filter(function(item){
if(item == 1 || item == 2){
return true
}else{
return false
}
})
console.log(temp )
得到
1
布尔值 = arr1.some(函数)
本质上就是find的简单版本,find得到值,some是需要判定是否含有这个数
var arr1 = [1,2,3,4,5,6,7]
var isclude_1and2 = arr1.filter(function(item){
if(item == 1 || item == 2){
return true
}else{
return false
}
})
console.log(isclude_1and2 )
得到
true
lamb语法
var a = () => true
a是一个什么东西?
其实是一个函数
item => item +item + 1
和
function(item){
return item +item + 1
}
是一个意思
一般什么时候用lamba语法
定义一个函数体只有return ~~ 的函数可以使用lamba语法,但凡需要打印什么的都用不了find
三元运算符
int a = 10;
int b = 20;
int max = (a > b) ? a : b; // 如果a大于b,max等于a,否则等于b
console.log(max);
得到
20
filter 加 lamba
var arr1 = [1,2,3,4,5,6,7]
var arr2 = arr1.filter(item => item == 1 || item == 2)
console.log(arr2)
得到
[1,2]
find 加 lamba
var arr1 = [1,2,3,4,5,6,7]
var temp = arr1.find(item => item => item == 1 || item == 2)
console.log(temp)
得到
1