for-in遍历

关于for-in格式如下:

for (变量 in 对象)
{
    在此执行代码
}

for-in可以遍历json的操作:for-in就是挨个找到json对象里面的属性名称,属性值;

<script>
    window.onload=function(){
        var json={name:'Juce',age:'23'};
         for(var attr in json){
            alert(json[attr])//返回的是Juce,23
         }
    }
</script>

for-in也可以遍历数组:

<script>
    window.onload=function(){
        var json1={
            name:['juce','lulu','nana'],
            age:['23','18','20']
        };
        for(var attr in json1){
            for(var i=0;i<json1[attr].length;i++){
                alert(json1[attr][i]);
            }
        }
    }
</script>

对于数组来说的for循环格式不能遍历json,而for-in即可以遍历json也可以遍历数组!

有几点提醒一下大家:

注意一:for in循环不会按照属性的下标来排列输出。

<script>
    window.onload=function(){
        var json2 = {
            '4': 'first',
            '3': 'second',
            '2': 'third',
            '1': 'fourth'
        };
        for (var i in json2) {
            console.log(i + "  " + json2[i])
        }
    }
</script>

 输出结果如下:

<script>
    window.onload=function(){
        var json3={
            "first":"first",
            "family":"5",
            "2":"2",
            "34":"34",
            "1":"1",
            "number":"4"
        };
        for (var i in json3) {
            console.log(i + "  " + json3[i])
        }
    }
</script> 

 输出结果是:

注意二:建议尽量不要对数组执行for in循环。

事实上,在高性能javascript这本书中,也强调了for in循环的不好,因为它总是会访问该对象的原型,看下原型上是否有属性,这在无意中就给遍历增加了额外的压力。

好了,以上纯属个人的一点点小建议!希望有益于大家!

转载于:https://www.cnblogs.com/web001/p/8284130.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值