1.every()
<script>
var arr = [1,2,3,4,5];
var test = arr.every((item,index)=>{
return item >3;
})
console.log(test); //false
</script>
可以看到,输出的结果为false,every的意思是,将一个数组中的每一项都return后的条件进行比较(这里的item > 3),只有当数组的每一项都满足这个条件,才返回true,否则返回false
2.some()
<script>
var arr = [1,2,3,4,5];
var foo = arr.some((item,index)=>{
return item > 3;
})
console.log(foo); // true
</script>
可以看到,输出结果为true,some的意思是,将一个数组中的每一项都return后的条件进行比较(这里的item > 3),只要有一个满足条件,就返回true
3.filter()
<script>
var arr = [1,2,3,4,5];
var foo = arr.filter((item,index)=>{
return item > 3;
})
console.log(foo); // [4,5]
</script>
可以看到,输出结果为[4,5],filter的意思是,将一个数组中的每一项都return后的条件进行比较(这里的item > 3),筛选出满足条件的数据项,并组成一个新数组
4.map()
<script>
var arr = [1,2,3,4];
var a = arr.map( (item,index)=>{
return item*2;
})
console.log(a); // [2,4,6,8]
</script>
可以看到,输出结果为[2,4,6,8],map的意思是,数组中的每一项都进行return后的操作(这里的item*2),之后返回每次函数调用的结果所组成的新数组
5.forEach()
<script>
var arr = [1,2,3,4];
var b = arr.forEach( (item,index)=>{
return item*2;
})
console.log(b); // undefined
</script>
forEach()只遍历一个数组,但是没有返回值(所以此处输出b为undefined)
map与forEach的区别:
map有返回值,forEach没有返回值