Javascript Json 数据提取并且转换问题
天蓬老师
天蓬老师 2017-04-10 18:06:36
[JavaScript讨论组]

有原始JSON数据如下:

"basic_data": {
  "2016-03-24": {
    "view_total": 17,
    "share_total": 0,
    "like_total": 1,
    "post_total": 2,
    "favorite_total": 1,
    "comment_total": 1
  },
  "2016-03-25": {
    "view_total": 10,
    "share_total": 0,
    "like_total": 0,
    "post_total": 58,
    "favorite_total": 1,
    "comment_total": 0
  },
  "2016-03-26": {
    "view_total": 0,
    "share_total": 0,
    "like_total": 0,
    "post_total": 0,
    "favorite_total": 0,
    "comment_total": 0
  },
  "2016-03-27": {
    "view_total": 0,
    "share_total": 0,
    "like_total": 0,
    "post_total": 0,
    "favorite_total": 0,
    "comment_total": 0
  },
  "2016-03-28": {
    "view_total": 0,
    "share_total": 0,
    "like_total": 0,
    "post_total": 0,
    "favorite_total": 0,
    "comment_total": 0
  },
  "2016-03-29": {
    "view_total": 11,
    "share_total": 0,
    "like_total": 0,
    "post_total": 42,
    "favorite_total": 0,
    "comment_total": 0
  },
  "2016-03-30": {
    "view_total": 4,
    "share_total": 0,
    "like_total": 0,
    "post_total": 3,
    "favorite_total": 0,
    "comment_total": 0
  }
}

如何使用原生或者lodash等工具提取如下数据

{
  view_total: [17, 10, 0, 0, 0, 11, 4]
}
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(4)
ringa_lee

lodash版:

var data = _.reduce(basic_data, (result, value) => {
  result.view_total.push(value.view_total);
  return result;
}, {
  view_total: []
});

js版:

var data = {
  view_total: Object.keys(basic_data).map(v => {
    return basic_data[v].view_total;
  })
};

console.log(data);
PHP中文网
const result = {
  view_total: Object.keys(data).map(entry => data[entry].view_total)`
};

data === basic_data

高洛峰
var viewTotalObj={};
for(var obj in basic_data){
  viewTotalObj.view_total.push(obj.view_total);
}
巴扎黑
var basic_data = {
    "2016-03-24": {
        "view_total": 17,
        "share_total": 0,
        "like_total": 1,
        "post_total": 2,
        "favorite_total": 1,
        "comment_total": 1
    },
    "2016-03-25": {
        "view_total": 10,
        "share_total": 0,
        "like_total": 0,
        "post_total": 58,
        "favorite_total": 1,
        "comment_total": 0
    },
    "2016-03-26": {
        "view_total": 0,
        "share_total": 0,
        "like_total": 0,
        "post_total": 0,
        "favorite_total": 0,
        "comment_total": 0
    },
    "2016-03-27": {
        "view_total": 0,
        "share_total": 0,
        "like_total": 0,
        "post_total": 0,
        "favorite_total": 0,
        "comment_total": 0
    },
    "2016-03-28": {
        "view_total": 0,
        "share_total": 0,
        "like_total": 0,
        "post_total": 0,
        "favorite_total": 0,
        "comment_total": 0
    },
    "2016-03-29": {
        "view_total": 11,
        "share_total": 0,
        "like_total": 0,
        "post_total": 42,
        "favorite_total": 0,
        "comment_total": 0
    },
    "2016-03-30": {
        "view_total": 4,
        "share_total": 0,
        "like_total": 0,
        "post_total": 3,
        "favorite_total": 0,
        "comment_total": 0
    }
}

var viewTotals = Object.keys(basic_data).sort().map(function(key) {
    return basic_data[key].view_total;
});

var result = {
    view_total: viewTotals
};

var json = JSON.stringify(result);

console.log(json);
{"view_total":[17,10,0,0,0,11,4]}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号