for 循环可以改变原数组,而forEach和map相当于把原数组进行浅拷贝进行遍历,不能改变原数组的每一项,但是原数组中某一项是引用类型的话可以改变其内的值。
for循环
var arr = [1,2,4,6]
for(var i = 0;i < arr.length; i++){
console.log(arr[i])
}
forEach 语句
遍历数组中的每一项,没有返回值,对原数组没有影响,不支持IE
var arr = [1,5,8,9]
arr.forEach(function(item) {
console.log(item);
})
map循环
有返回值,把return 出来的值组成新数组
arr.map(function(value,index,array){
//do something
return XXX
})
filter遍历
过滤 返回符合条件的值
var arr = [2,3,4,5,6]
var morearr = arr.filter(function (number) {
return number > 3
})
every遍历
检测数组中的每一项是否符合条件,如果每一项都符合条件,就会返回true,否则返回false
var arr = [1,2,3,4,5]
var result = arr.every(function (item, index) {
return item > 0
})
some遍历
检查数组中是否有某些项符号条件,如果有一项就返回true,否则返回false
var arr = [1,2,3,4,5]
var result = arr.some(function (item,index) {
return item > 3
})