如何使用lodash.js或underscore.js过滤json?

Moh*_*adi 2 javascript json underscore.js angularjs lodash

我正在尝试敲打我的头来过滤下面写的json以获得理想的结果.

[{
        "Key": "EShSOKthupE=",
        "ImageUrl": "path",
        "Title": "ABC", 
        "CityId": 16, 
        "TimezoneShortName": "PYT",
        "UtcHrsDiff": 8.5,
        "PlaceKey": "QIZHdWOa77o=",
        "PlaceName": "Shymala Hills Slums",
        "Lat": 23.2424856,
        "Long": 77.39488289999997,
        "ActivityList": [ "Test Activity" ]
      },
      {
        "Key": "NXLQpZAZT4M=",
        "ImageUrl": "",
        "Title": "ASAS",  
        "CityId": 17, 
        "TimezoneShortName": "AEST",
        "UtcHrsDiff": 10,
        "PlaceKey": "o4fAkahBzYY=",
        "PlaceName": "ASAS",
        "Lat": 12.9856503,
        "Long": 77.60569269999996,
        "ActivityList": [ "Adventure Sport" ]
      }]
Run Code Online (Sandbox Code Playgroud)

现在我想使用lodash或者非核心js从json上面得到这样的json.

[{
    "PlaceKey": "QIZHdWOa77o=",
    "PlaceName": "ABC",
    "Lat": 23.2424856,
    "Long": 77.39488289999997
  },
  {
    "PlaceKey": "o4fAkahBzYY=",
    "PlaceName": "ASAS",
    "Lat": 12.9856503,
    "Long": 77.60569269999996,
  }]
Run Code Online (Sandbox Code Playgroud)

我可以得到任何帮助吗?

Ego*_*kio 6

使用lodash:

_.map(yourArray, (el => _.pick(el, ['PlaceKey', 'PlaceName', 'Lat', 'Long'])))
Run Code Online (Sandbox Code Playgroud)


Dee*_*pak 5

您可以简单地在 Javascript 中完成此操作,无需任何外部库,例如:

filteredArray=arr.map(function(item){
  return {
    "PlaceKey": item.PlaceKey,
    "PlaceName": item.PlaceName,
    "Lat": item.Lat,
    "Long": item.Long,
  }
})
Run Code Online (Sandbox Code Playgroud)