这是我的Json对象的简化形式。
var jsonObject =
[
{"City":"Monroe","Country":"USA","Latitude":47.8524,"Longitude":-121.98151},
{"City":"Austin","Country":"USA","Latitude":30.40137,"Longitude":-97.73542},
{"City":"Austin","Country":"USA","Latitude":30.32198,"Longitude":-97.70864}
]我想使用groupBy使用city并获取属于特定城市的记录的计数,到目前为止我尝试过的代码是
var query2 = $.Enumerable.From(jsonObject)
.GroupBy(
function(record) {return record.City},
function(record) {
return {City: record.City}
},
function(rec) {
return {City:rec}
}
).ToArray();我还是搞不懂我在这里做错了什么。我对linq.js...any的帮助是新手,或者至少给我指明了正确的方向。
发布于 2013-08-07 10:26:53
//将记录分组
$.Enumerable.From(heatMapObjects)
.GroupBy(
"{ City: $.City }",
null,
function (key, g) {
var result = {
City:key.City
};
var groupResults = [];
g.ForEach(function (item) {
groupResults.push(item);
});
//push into array
groupedRecordsCollection.push(groupResults);
},
"$.City" // compare selector needed
)
.ToArray();这解决了我的问题。
发布于 2013-12-18 18:35:50
所以你只想知道城市的数量?试一试:
var query = Enumerable.From(jsonObject)
.GroupBy(
"$.City",
null,
"{ City: $, Count: $$.Count() }") // $: Key, $$: Group
.ToArray();https://stackoverflow.com/questions/18075745
复制相似问题