• $.each(data, function (index, value) { })的用法;json和list<>的互相转换


    在json中常常碰到这样的代码:

    jquery $.each(data, function (index, value) {

       })

    遍历处理data,可以是数组、DOM、json等,取决于直接给定或者ajax返回的类型

    function (index, value)中index是当前元素的位置,value是值。

     // each处理一维数组

      var arr1 = [ "aaa""bbb""ccc" ];      
      $.each(arr1, function(i,val){      
          alert(i);   
          alert(val);
      });
      // 处理json数据,例如ajax的返回值     
      var obj = { one:1, two:2, three:3};      
     $.each(obj, function(key, val) {      
          alert(key); 
          alert(val); 
      });
     也就是说:obj的是一个对象:function里的key Value都是obj里的值;大多数情况下:data是后台返回的值;

    $.each({a:3,b:'g'},function(index,value){alert('属性'+ index+ '的值是'+value);});

    -----------------------------------------------------------------------------------------------------------------------

    JQuery .each(function(i){怎么往里带参数?})

    <script>
    var xm=123,xt=456,xs=789;
    $("ul li").each(function(i){
    alert("i:"+i+" , xm:"+xm+" , xt: "+xt +" , xs: "+xs);
    })
    </script>

    这就是,会对ul下的所有的li 进行循环:function里的i 是循环到的第几个li

    第一个i的之后输出alert;第二个、第三个i 如此

    -------------------------------------------------------------------------------------------

    解析复杂的json时:

    var color_ary=[{'id':'red','code':'01'},{'id':'blue','code':'02'},{'id':'green','code':'03'},{'id':'yellow','code':'04'},
                 {'id':'black','code':'05'},{'id':'white','code':'06'},{'id':'orange','code':'07'}];
    $.each(color_ary,function(index,item){a4+=item.id+":"+item.code+",";});
      //当数据为json格式时,可以如此来解析此json//这2种方法还是66的
      $.each(color_ary,function(index,item){a5+=color_ary[index].id+":"+color_ary[index].code+",";});
      //当数据为json格式时,也可以如此来解析此json
    -------------------------------------------------------------------------------------------------------------
    还有更复杂的解析:

    1.例如后台返回的json数据如下

    [{'id':"1","name":"2","user":{"name":"2","age":"18"}},{'id':"2","name":"2","user":{"name":"2","age":"18"}}]

    2.前台解析代码如下

    var obj = eval(s);
    进行格式的转化,然后就能采用点运算符去取值,如obj[0].user.name;取出结果是2

    ---------------------------------------------------------------------------------------------------------------

    $(function(){
    $("#zhanshi input").click(function(){
    alert("sda");
    $("#ziliaoku_hero table").css("display","none");
    $.ajax({
    //传输方式
    type:"post",
    url:"herofenlei",
    data:{"fenlei":$("#zhanshi input").val()},
    dataTpye:"json",
    success:function(data){
    var json=eval(data);
    var con;
    $.each(json,function(index,item){
    var s1=json[index].heroHear;
    var s2=json[index].herowaihao;
    con+="<td ><img src='"+s1+"'  width='64px' height='64px'  /><p style='font-size: 15px;'>"+s2+"</p></td>";  
    });
    console.log(con);
    $("#zhanshi11").html(con);
    }
    });  
    });
    });

  • 相关阅读:
    MySQL分库分表环境下全局ID生成方案
    机器码和字节码
    Java程序编译和运行的过程
    hive大数据倾斜总结
    图解MapReduceMapReduce整体流程图
    Java中的5种同步辅助类
    Tomcat 的三种(bio,nio.apr) 高级 Connector 运行模式
    RocketMQ与Kafka对比(18项差异)评价版
    ENode 2.0
    SecureCrt的操持连接办法
  • 原文地址:https://www.cnblogs.com/ZkbFighting/p/8670087.html
Copyright © 2020-2023  润新知