• js json 转化


    var newtemp=[ { title: '北京市', money: '11' },
    { title: '天津市', money: '11' },
    { title: '山东省', money: '11'},
    { title: '河北省', money: '11'},
    { title: '内蒙古', money: '12' },
    ];
    有这么一个json 串 因工作需要 需要转换成 如下

    [ { money: '11', title: [ '北京市', '天津市', '山东省', '河北省' ] },
    { money: '12', title: [ '内蒙古' ] } ]

    之前写好的一个json 代码如下

    var json={};
    for(var i=0;i<newtemp.length;i++){
    var map = newtemp[i];
    if(( map["money"] in json)){
    var arry=json[map["money"]];
    arry.push(map["title"]);
    json[map["money"]]=arry;

    }else{
    var arr=[];
    arr.push(map["title"]);
    json[map["money"]]=arr;
    }

    }

    输出结果如下:[ { '11':"[ '北京市', '天津市', '山东省', '河北省' ] "},{'12' :" [ '内蒙古'] } ]
    因不符合要求 所以继续修改:
    于是思想了下 在之前的代码上做修改 :
    for(var i=0;i<newtemp.length;i++){
    // var map = newtemp[i];
    // if(jsonArray.length>0){
    // // console.log("i === "+i,map,map["money"] , jsonArray.length);
    // for(var f= 0 ;f<jsonArray.length;f++){
    // //console.log(jsonArray,f,i)
    // //console.log(json,i,f,"0");
    // if(( map["money"] == jsonArray[f]["money"])){
    // var arry=jsonArray[f]["province"];
    // arry.push(map["title"]);
    // jsonArray[f]["province"]=arry;
    // }else{
    //
    // var arr=[];
    // json={};
    // arr.push(map["title"]);
    // //json[map["money"]]=arr;
    // json.money=map["money"];
    // json.province=arr;
    // jsonArray.push(json);
    // }
    // }
    // }
    // else{
    // var arr=[];
    // json={};
    // arr.push(map["title"]);
    // //json[map["money"]]=arr;
    // json.money=map["money"];
    // json.province=arr;
    // jsonArray.push(json);
    // }
    //}
    结果输出:[ { money: '11', province: [ '北京市', '天津市', '山东省', '河北省' ] },{ money: '12', province: [ '内蒙古', '内蒙古' ] } ]
    结果发现if esle 玩不明白了 ,后来同事一提醒 :用之前写好的略加修改就能拿到想要的结果 ,感悟 有时候思想只要换一换 柳暗花明啊
    代码如下
    for(var i=0;i<newtemp.length;i++){
    var map = newtemp[i];
    if(( map["money"] in json)){
    var arry=json[map["money"]];
    arry.push(map["title"]);
    json[map["money"]]=arry;

    }else{
    var arr=[];
    arr.push(map["title"]);
    json[map["money"]]=arr;
    }

    }
    //上面是之前的代码 只要在修改下就能完成想要的结果;如下
    var jsonarray=[];
    for(var splicJson in json){
    var newjson={}
    newjson.money = splicJson;
    newjson.title= json[splicJson];
    jsonarray.push(newjson);
    }


    其实有些时候都走好了一半的路,因为迷茫,导致没有继续走下去,自己又受到影响又规划了另一条路,当走进去的时候发现备受困难.....
     



    
    
  • 相关阅读:
    随机数生成程序代码( 伪随机<stdlib.h> )
    C++的学习 (此博客将一直补充更新下去,C++语法方面的内容不开新随笔了, *【语法学习】)
    sdut oj 1510 Contest02-4 Spiral
    POJ 2017 Speed Limit (直叙式的简单模拟 编程题目 动态属性很少,难度小)
    JavaWeb-入门第一课-1.静态web动态web 2.web服务器 3.下载和安装Tomcat-web服务器
    java小知识,驼峰规则
    亚马逊 协同过滤算法 Collaborative filtering
    第一个JSP程序
    物理学步入禅境:缘起性空
    人既然知道努力就可以进步,为什么还是会不努力?
  • 原文地址:https://www.cnblogs.com/aiwoqu/p/4930306.html
Copyright © 2020-2023  润新知