簡體   English   中英

JSON中的下划線js groupby數組

[英]underscore js groupby array inside JSON

我已經分配了一個任務,以使用下划線js對angular js中的數據進行分組。

我的JSON:

$scope.myData= {
"buslist":
    {
        "code":"1",
        "message":"Success",
        "fromStationCode":"71",
        "searchResult": [
            {
                "arrivalTime": "17:00:00",
                "availableSeats": "42",
                "boardingPointDetails": [
                    {
                        "code": "1631",
                        "name": "Koyambedu",
                        "time": "09:30:00"
                    },
                    {
                        "code": "961296",
                        "name": "Nerkundram",
                        "time": "09:45:00"
                    }
                ]
            },
            {
                "arrivalTime": "18:00:00",
                "availableSeats": "32",
                "boardingPointDetails": [
                    {
                        "code": "2084",
                        "name": "Adyar",
                        "time": "09:30:00"
                    },
                    {
                        "code": "961296",
                        "name": "Madurai",
                        "time": "09:45:00"
                    }
                ]
            }
        ]
    }
}

我無法使用下划線js使用“名稱”字段對數據進行分組。 我試過了 :

$scope.groups = _.groupBy($scope.myData,function(element) {
    return element.searchResult.boardingPointDetails.name;
});

但是失敗了。 需要幫忙。 提前致謝。

這是我為您解決的問題:

var tempResult = [];
_.each($scope.myData.buslist.searchResult, function(result) {
    _.each(result.boardingPointDetails, function(detail) {
        var item = { name: detail.name, availableSeats: result.availableSeats };
        tempResult.push(item); // make an array of items with needed data on same nesting level
    });
});

var endResult = _.groupBy(tempResult, 'name');  // group the items by name

看到它適合您的情況: JsFiddle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM