javascript for循环问题

查看:101
本文介绍了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,]}]

解决方案

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);

这篇关于javascript for循环问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆