js 中for forEach map some every的区别
1.for循环
for (语句 1; 语句 2; 语句 3) { 被执行的代码块 }
可以通过continue跳出本轮循环,使用break则会跳出整个循环体;
2.forEach
语法:
array.forEach(callback(currentValue, index, array){ //do something }, this)
callback: 为数组中每个元素执行的函数,该函数接收三个参数,
参数一:当前数组中元素;参数二:索引; 参数三:当前数组。
this:可选,执行回调时候this的指向。如不写则是默认为this。
3.map方法
语法:
arr.map(function(currentValue,index,arr){ //dosomething }, this)
map()
方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组。
ag:
var arr = [1,2,3,4,5]; var ar = arr.map(function(i){ return i*i; },this) console.log(ar); //[1,4,9,16,25]
4.some()
some() 方法用于检测数组中的元素是否满足指定条件
语法:
array.some(function(currentValue,index,arr){ //dosomethings },this)
some() 方法会依次执行数组的每个元素:
- 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
- 如果没有满足条件的元素,则返回false。
注意:some() 不会对空数组进行检测。不会修改原数组;
5.every()
利用指定函数检测数组中是否每个元素都符合要求。正确返回true,错误返回false
注意:every() 不会对空数组进行检测。不会修改原数组;
语法同上some方法