下划线将对象转换为对象数组

时间:2016-11-14 14:05:13

标签: json underscore.js

我的数据目前看起来像这样:

{ 'Australia' : [ Array[2] ],
  'Bangladesh' : [ Array[7] ],
  etc...}

我想将其转换为:

[ { 'country': 'Australia',
    'count': 2 },
  { 'country' : 'Bangladesh',
    'count': 7},
  etc...
 ]

转换数据的最简单方法是什么?

2 个答案:

答案 0 :(得分:2)

使用像Underscore这样的库,您可以将对象映射到您尝试生成的表单中:

_.map(_.keys(data), function(key) {
    return { 'country': key, 'count': data[key].length }
});

答案 1 :(得分:0)

使用下划线你可以使用类似的东西

var cities = {"Australia" : ["Sydney, Perth"], "US" : ["New York", "Boston"]}
var list = [];
_.each(_.keys(cities), function(countryName){
	list.push({"country" : countryName, "count" : cities[countryName].length})
});
console.log(list)
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>

相关问题