zoukankan      html  css  js  c++  java
  • 使用for in循环遍历json对象的数据


    使用for in遍历json对象数据,如果数据中的名称有为数字的话,只对正整数有效,那么先会输出为正整数的数据,后面其他的会按照原来数据中定义的顺序不变输出。

    • 针对名称为数字的json对象数据进行测试,代码如下:
    <script type="text/javascript">
    
     var json_obj_data = 
    {
        "40":{"title":"all" , "name" :"all promotions" ,"id" :"all"},
        "20":{"title":"best_room_rate" , "name" : "best room rate" , "id" : "best_room_rate"},
        "10":{"title":"summer rate" , "name" : "summer rate" , "id" : "30"}    
    }
    //40,20,10可以不加双引号括住,输出的结果是一样的
    for(var data in json_obj_data){ alert(data);//10->20->40 } </script>
    • 针对名称为字符串的json对象数据进行测试,代码如下:
    var json_data = {"3promotion":{"title":"all","room_promotion_id":"all"},
                                 "2promotion":{"title":"best_room_rate","roompromotion_id":"best_room_rate"},
                                "1promotion":{"title":"Summer Room rate" , "room_promotion_id":"30"}
                                };
                
    for(var promotion in json_data){
              alert(promotion);//输出结果是按照上面定义的顺序
    }
    • 针对名称为数字和字符串的json对象数据测试,代码如下:
    var json_data = {"3promotion":{"title":"all","room_promotion_id":"all"},
                                 "2promotion":{"title":"best_room_rate","roompromotion_id":"best_room_rate"},
                                "1":{"title":"Summer Room rate" , "room_promotion_id":"30"}
                                };
                
     for(var promotion in json_data){
            alert(promotion);//数据先输出的是名称为数字的,然后就按照顺序输出名称为字符串的
     }

    具有两个名称为数字的,其他为字符串的json对象数据测试,代码如下:

    var json_data = {"3promotion":{"title":"all","room_promotion_id":"all"},
                                 "2promotion":{"title":"best_room_rate","roompromotion_id":"best_room_rate"},
                                "1":{"title":"Summer Room rate" , "room_promotion_id":"30"},
                                "0":{"title":"expecial rate" , "room_promotion_id":"60"}
                                };
                
    for(var promotion in json_data){
          alert(promotion);//输出结果为0->1->3promotion->2promotion
    }

    具有名称为数字,其中有为负数的将会被当作字符串处理,其他为字符串的json对象数据测试,代码如下:

    var json_data = {"3promotion":{"title":"all","room_promotion_id":"all"},
                                 "2promotion":{"title":"best_room_rate","roompromotion_id":"best_room_rate"},
                                "1":{"title":"Summer Room rate" , "room_promotion_id":"30"},
                                "0":{"title":"expecial rate" , "room_promotion_id":"60"},
                                "-1":{"title":'demo3','room_promotion_id':"demo3"}
                                };
                
     for(var promotion in json_data){
           alert(promotion);//0->1->3promotion->2promotion->-1
     }

     包括小于1的数字名称,以及数字为负数的名称,代码测试如下:

    var json_data = {"3promotion":{"title":"all","room_promotion_id":"all"},
                                 "2promotion":{"title":"best_room_rate","roompromotion_id":"best_room_rate"},
                                "1":{"title":"Summer Room rate" , "room_promotion_id":"30"},
                                "0.25":{"title":"expecial rate" , "room_promotion_id":"60"},
                                "-1":{"title":'demo3','room_promotion_id':"demo3"}
                                };
                
    for(var promotion in json_data){
        alert(promotion);//1->3promotion->2promotion->0.25->-1
    }
  • 相关阅读:
    js获取url传递参数
    C#:String.Format数字格式化输出
    mathjs,math.js解决js运算精度问题
    js获取文件后缀
    vue生成二维码插件qrcodejs2
    多行文本超出后隐藏,超出3行隐藏
    vue点击按钮给商品按照价格进行倒叙
    vue关闭代码检查eslint
    vue + elementUi + upLoadIamge组件 上传文件到阿里云oss
    nodejs+expressjs+ws实现了websocket即时通讯,服务器和客户端互相通信
  • 原文地址:https://www.cnblogs.com/shuman/p/3899977.html
Copyright © 2011-2022 走看看