码迷,mamicode.com
首页 > 其他好文 > 详细

for-in遍历

时间:2018-01-14 21:24:20      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:inf   技术分享   png   com   alt   gpo   不能   排列   循环   

关于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循环的不好,因为它总是会访问该对象的原型,看下原型上是否有属性,这在无意中就给遍历增加了额外的压力。

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

for-in遍历

标签:inf   技术分享   png   com   alt   gpo   不能   排列   循环   

原文地址:https://www.cnblogs.com/web001/p/8284130.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!