代码之家  ›  专栏  ›  技术社区  ›  Arvind Chaudhary

如何对JSON对象进行计数,并在计数的基础上获得相同的输出

  •  2
  • Arvind Chaudhary  · 技术社区  · 9 年前
    1. 如何对JSON对象进行计数,并在计数的基础上获得相同的输出

          var obj = 
         [
          {"id":"0","name":"Mike Johnson","group":1},
          {"id":"1","name":"Bob Smith","group":2},
          {"id":"2","name":"Richard Thomas","group":3},
          {"id":"3","name":"Betty White","group":16},
          {"id":"4","name":"Tim Thompson","group":3},
          {"id":"5","name":"Carl Lewis","group":16},
          {"id":"6","name":"Kathy Towers","group":3},
          {"id":"7","name":"Billy Bob","group":1},
          {"id":"8","name":"Sally Bailey","group":1}
          ];
      
      1. 首先,我希望在计数的基础上再进行计数。我想要和输入一样的输出。 对于计数:-

        var count = 0;
        function getCount() {
        
        for (var i = 0; i < obj.length; i++) {
        
                count++;
        
        }
        return count;
        }
        

      对于输出:-

      function showDetails()   this is not giving the proper output
      { 
      
         for(var j=0; j< count; j++){ 
         obj.push([{j}]);    
         }                   
      alert(obj.name);        
      }                      
      alert(showDetails());   
      And I want an output like:- 
      
           var obj = 
         [
          {"id":"0","name":"Mike Johnson","group":1},
          {"id":"1","name":"Bob Smith","group":2},
          {"id":"2","name":"Richard Thomas","group":3},
          {"id":"3","name":"Betty White","group":16},
          {"id":"4","name":"Tim Thompson","group":3},
          {"id":"5","name":"Carl Lewis","group":16},
          {"id":"6","name":"Kathy Towers","group":3},
          {"id":"7","name":"Billy Bob","group":1},
          {"id":"8","name":"Sally Bailey","group":1}
          ];
      

      有人能帮我吗?

    6 回复  |  直到 6 年前
        1
  •  4
  •   Sabith    9 年前
    var data ="January,February,March,April,May,June,July,August,September,October";
    var obj = data.split(',').map((item)=>{
         return {
               name:item
               }
    });
    

    obj 将是所需的输出

        2
  •  3
  •   Mohammad Usman    9 年前

    var str = "January,February,March,April,May,June,July,August,September,October";
    
    var arr = str.split(',').map(function(v) {
     return {name: v};
    });
    
    console.log(arr);
        3
  •  1
  •   Hans Yulian    9 年前
    var str = "January,February,March,April,May,June,July,August,September,October";
    var months = str.split(",");
    var result = [];
    
    
    for (i in months)
    {
       var month = {};
       month.name = months[i];
       //you can do more things else here, for example:
       //month.monthOfYear = (i+1);
       //month.numberOfDay = 123123123;
       result.push(month);
    }
    
        4
  •  1
  •   Rahul Arora    9 年前

    你可以这样做:

    var array = string.split(",");
    var finalArray = [];
    
    array.forEach(function(item){
    
       var obj = {
            name: item
       }
    
       finalArray.push(obj);
    
    });
    
    console.log(finalArray);
    
        5
  •  1
  •   Mahendra Kulkarni    9 年前

    MDN reference

    使用 var array = string.split(',');

        6
  •  1
  •   David Wickström    9 年前

    更多ES2015重型版本。常量、箭头函数和隐式返回语句。

    const str = 'January,February,March,April,May,June,July,August,September,October'
    const result = str.split(',').map(name => ({name}))
    console.log(result)