search

Home  >  Q&A  >  body text

javascript for循环问题

var array = [],hash = {},arr1=[]

  var arr = [
    {
      "title":"检测任务情况","type":2,"datas":[{"count":1,"date":"2016-03-09"},{"count":1,"date":"2016-03-08"},{"count":1,"date":"2016-03-03"}]
    },
    {
      "title":"检测任务情况","type":2,"datas":[{"count":1,"date":"2016-03-09"},{"count":1,"date":"2016-03-08"},{"count":1,"date":"2016-03-03"}]
    }
  ]
  for(var i= 0,len = arr.length;i<len;i++){
       for(var j= 0;j<arr[i].datas.length;j++){
            arr1.push(arr[i].datas[j].count)
           hash.name = arr[i].title
           hash.data = arr1
       }
    console.log(arr1)
    array.push(hash)
    console.log(array)
  }
  
  我想把arr里的每个的count都取出来   结果循环后 重复添加了   
  想得到的结果是这样的 [{name:'dddd',data:[1,1,1,]},{name:'dddd',data:[1,1,1,]}]
PHPzPHPz2896 days ago197

reply all(3)I'll reply

  • ringa_lee

    ringa_lee2017-04-10 17:27:42

    var arr = [
        {
            "title":"检测任务情况","type":2,"datas":[{"count":1,"date":"2016-03-09"},{"count":1,"date":"2016-03-08"},{"count":1,"date":"2016-03-03"}]
        },
        {
            "title":"检测任务情况","type":2,"datas":[{"count":1,"date":"2016-03-09"},{"count":1,"date":"2016-03-08"},{"count":1,"date":"2016-03-03"}]
        }
    ]
    
    //直接使用for循环
    var result1=[];
    for(var i= 0,len = arr.length;i<len;i++){
        result[i]={
            name:arr[i].title,
            data:[]
        };
        for(var j= 0;j<arr[i].datas.length;j++){
            result[i].data.push(arr[i].datas[j].count)
        }
    }
    console.log(reuslt1);
    
    //使用数组的map方法
    var reuslt=arr.map(function(element){
        var datas=element.datas.map(function(element){
            return element.count;
        });
    
        return {
            name:element.title,
            data:datas
        }
    });
    
    console.log(reuslt);

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 17:27:42

      var arr = [
        {
          "title":"检测任务情况","type":2,"datas":[{"count":1,"date":"2016-03-09"},         {"count":1,"date":"2016-03-08"},{"count":1,"date":"2016-03-03"}]
        },
        {
          "title":"检测任务情况","type":2,"datas":[{"count":1,"date":"2016-03-09"},{"count":1,"date":"2016-03-08"},{"count":1,"date":"2016-03-03"}]
        }
      ]
      for(var i= 0,len = arr.length;i<len;i++){
           for(var j= 0;j<arr[i].datas.length;j++){
                arr1.push(arr[i].datas[j].count)
           }
           hash.name = arr[i].title;
           hash.data = arr1;
           console.log(arr1);
      }
        
      array.push(hash)
      console.log(array)

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 17:27:42

    for(var i= 0,len = arr.length;i<len;i++){

    arr1 = []; //每次循环要清空
    for(var j= 0;j<arr[i].datas.length;j++){
        arr1.push(arr[i].datas[j].count);
    }
    hash.name = arr[i].title; //放在第二个循环外面
    hash.data = arr1;
    console.log(arr1);
    array.push(hash);
    console.log(array);

    }

    reply
    0
  • Cancelreply