循环遍历/ forEach,$.each,map,for区别

            var arr=[1,2,3];
                     var obj={
a:"这是a",
b:"这是b",
r:"这是r"

}

                for循环

for(var i=0;i<arr.length;i++){
console.log(i,arr[i])

}

                for in循环

for(var i in obj){//或者是arr
console.log(i,obj[i]) //属性值     obj[属性]
}

对于while 我不太熟悉 有更好的见解请赐教 只知道while循环是用于不明确次数的循环

                forEach循环

var arrForeach=arr.forEach(function(value,index,arrReality){//key值,下标,数组本身
console.log(value,index,arrReality)
//打印三次 分别是
/*
1,0,[1,2,3]
2,1,[1,2,3]
3,2,[1,2,3]
*/
return value+1
})

console.log(arrForeach,"arrForeach")//undefined

                map循环

var arrMap=arr.map(function(value,index,arrReality){
console.log(value,index,arrReality)
//打印三次 分别是
/*
1,0,[1,2,3]
2,1,[1,2,3]
3,2,[1,2,3]
*/
return value+1
})
console.log(arrMap,"arrMap")//[2,3,4]
对比一下阔以发现,map方法的使用方法和forEach基本是差不多的,但是map会创建一个新的数组(或者是对象),而forEach不会;如果上边的代码是
var arrMap=arr.map(function(value,index,arrReality){
console.log(value,index,arrReality)
})
你再打印的话 就是[undefined,undefined,undefined]

                        $.each循环
var $each=$.each(arr,function(index,value,arrReality){
console.log(index,value,arrReality)
/*
0 1 undefined
1 2 undefined
2 3 undefined
*/
arr=[7,8,9]
return value+10;
})
console.log($each,"$each") //结果就是 [1,2,3]
console.log(arr,"newARR")
可以看出 $.each方法和map方法主要有两个不同点
第一个
$.each方法和map方法的虽然都是创建一个数组(对象)$.each方法只是把原先的数组(对象)复制了一下,虽然你可能改变了原数组(对象),
而map方法是创建一个结构相同但是内容不一定相同的数组(对象)
第二个
$.each方法的参数是两个,没有数组(对象)本身,并且参数的顺序是 下标(index),然后才是key(value)
而map方法 是三个参数 ,具有数组(对象)本身,但是参数的顺序却是 key值(value)下标(index) 最后是数据源本身 (arrReality),这一点是和 forEach一样的
可以看出 $.each方法和forEach方法主要有两个不同点
第一个
forEach不会创建一个新的数组(对象)
第二个 
和$.each方法和map不同点第二个的一样
还有什么不同之处,请留言
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值