search

Home  >  Q&A  >  body text

javascript - 从内容中的jsons如何能得到result ?

    var jsons = [
        {"a":1,"b":2,"e":3,"d":4,"p":'河北',"c":'石家庄'},
        {"a":1,"b":2,"e":3,"d":4,"p":'河北',"c":'保定'},
        {"a":1,"b":2,"e":3,"d":4,"p":'河北',"c":'其他'},
        {"a":2,"b":3,"e":4,"d":5,"p":'广东',"c":'广州'},
        {"a":2,"b":3,"e":4,"d":5,"p":'广东',"c":'深圳'},
        {"a":3,"b":4,"e":5,"d":6,"p":'澳门',"c":'澳门'}
    ];
    var result = [
      [
          {"a":1,"b":2,"e":3,"d":4,"p":'河北',"c":'石家庄'},
          {"a":1,"b":2,"e":3,"d":4,"p":'河北',"c":'保定'},
          {"a":1,"b":2,"e":3,"d":4,"p":'河北',"c":'其他'}
      ],
      [
          {"a":2,"b":3,"e":4,"d":5,"p":'广东',"c":'广州'},
          {"a":2,"b":3,"e":4,"d":5,"p":'广东',"c":'深圳'}
      ],
      [
          {"a":3,"b":4,"e":5,"d":6,"p":'澳门',"c":'澳门'}
      ]
    ];
阿神阿神2901 days ago398

reply all(2)I'll reply

  • 高洛峰

    高洛峰2017-04-10 14:39:01

    试试下面的代码:

    var cities = {}
    var result = [];
    
    for (var i = 0; i < jsons.length; i++) {
      var item = jsons[i];
    
      if (!cities[item.p]) {
        cities[item.p] = [];
        result.push(cities[item.p]);
      }
      cities[item.p].push(item);
    }
    console.log(result);
    

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-10 14:39:01

    这个方法有很多吧。

    如果是支持es5的环境下,

    Array.prototype.filterArray.prototype.reduce都能帮你实根据属性特定值筛选对象。

    reply
    0
  • Cancelreply