有原始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]
}
var viewTotalObj={};
for(var obj in basic_data){
viewTotalObj.view_total.push(obj.view_total);
}
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);
const result = {
view_total: Object.keys(data).map(entry => data[entry].view_total)`
};
data
===basic_data
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]}