使用linq.js从多个对象创建JSON对象数组
Creat array of JSON objects from mulitple objects using linq.js
我有一个JSON数组,如下所示:
var jsonArray = [
{ Date: "2010-02-25", Size:"Large", Type:"a", Value: "100"},
{ Date: "2010-02-25", Size:"Medium", Type:"a", Value: "160"},
{ Date: "2010-02-25", Size:"Small", Type:"a", Value: "200"},
{ Date: "2010-02-25", Size:"Large", Type:"b", Value: "400"},
{ Date: "2010-02-25", Size:"Medium", Type:"b", Value: "120"},
{ Date: "2010-02-25", Size:"Small", Type:"b", Value: "170"}
]
我一直在使用linq.js,我试图操作上面的JSON,所以6个对象变成了2个,所以我留下了一个数组,如下所示:
var desiredArray = [
{ Date: "2010-02-25", Large:"100", Medium: "160", Small: "200", Type:"a" }
{ Date: "2010-02-25", Large:"400", Medium: "120", Small: "170", Type:"b" }
]
但这是我第一次使用linq。我花了很长时间试图弄清楚,但我真的不知道如何开始
有人能给我指正确的方向吗?
任何帮助都将不胜感激
以下是实现这一目标的一种方法:
var jsonArray = [
{ Date: "2010-02-25", Size:"Large", Type:"a", Value: "100"},
{ Date: "2010-02-25", Size:"Medium", Type:"a", Value: "160"},
{ Date: "2010-02-25", Size:"Small", Type:"a", Value: "200"},
{ Date: "2010-02-25", Size:"Large", Type:"b", Value: "400"},
{ Date: "2010-02-25", Size:"Medium", Type:"b", Value: "120"},
{ Date: "2010-02-25", Size:"Small", Type:"b", Value: "170"}
];
function makeGroupKey(item) {
return JSON.stringify({
Date: item.Date,
Type: item.Type
});
}
function mergeItems(items) {
return items.Aggregate(JSON.parse(items.Key()), function (prev, next) {
prev[next.Size] = next.Value;
return prev;
});
}
var result = Enumerable.From(jsonArray)
.GroupBy(makeGroupKey)
.Select(mergeItems)
.ToArray();
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/linq.js/2.2.0.2/linq.min.js"></script>
相关文章:
- JavaScript名称空间和对象创建
- 从不同的对象创建阵列
- Nodejs-从对象创建可读流
- Javascript对象创建实践
- 插件SDK中的动态或计算对象创建
- 为json对象创建一个动态表
- 对象.创建解释
- 从对象创建嵌套数组失败
- 从JSON对象创建具有超链接的HTML表
- 如何将文档对象创建为HTML页面
- 创建一个类,该类使用es6类语法将Function对象创建为实例
- KineticJS在对象创建(NOOB)后更改属性
- 对象创建中的JavaScript && notation
- Javascript对象创建-创建许多对象
- 从另一个JSON对象创建JSON对象
- 使用linq.js从多个对象创建JSON对象数组
- 如何使用Immutable.js从javascript原始对象创建记录映射
- 在fabric.js中初始化对象创建的子类
- Angularfire:从$FirebaseObject的子对象创建$FirebaseObject
- 为JSON对象创建CRUD