Удалить первый элемент массива объектов JSON - PullRequest
1 голос
/ 01 июня 2019

Я изо всех сил пытаюсь найти способ сократить этот массив JSON, чтобы я мог использовать оставшиеся значения. Ниже приведено то, что мне возвращают из API, который я извлекаю, и я ищу, чтобы удалить излишки, поэтому у меня просто есть массив с результатами LGA. Действительно не знаю, с чего начать.

{
  "query": {
    "offence": "Dangerous Operation of a Vehicle",
    "area": "",
    "age": "",
    "year": "",
    "gender": ""
  },
  "result": [
    {
      "LGA": "Aurukun Shire Council",
      "total": 156,
      "lat": -13.354875,
      "lng": 141.729058
    },
    {
      "LGA": "Balonne Shire Council",
      "total": 99,
      "lat": -28.464607,
      "lng": 148.189292
    },
    {
      "LGA": "Yarrabah Shire Council",
      "total": 28,
      "lat": -16.910135,
      "lng": 145.868659
    }
  ]
}

Ответы [ 5 ]

1 голос
/ 01 июня 2019

Вы можете использовать функцию Array​.prototype​.map для преобразования вашего результата:

const response = getYourJsonFromAPI()
response.result.map(result => result.LGA)

, который возвращает:

["Aurukun Shire Council", "Balonne Shire Council", "Yarrabah Shire Council"]
0 голосов
/ 01 июня 2019

Если я правильно читаю ваш вопрос, вы хотите получить массив string, содержащий свойства LGA:

const data = {
  query: {
    offence: "Dangerous Operation of a Vehicle",
    area: "",
    age: "",
    year: "",
    gender: ""
  },
  result: [{}, {}] // your current large array
};

const lgaArray = data.result.map(({ LGA }) => ({ LGA }));

console.table(lgaArray);

Скриншот для визуальной помощи:

lga map array

0 голосов
/ 01 июня 2019

You can try:

response.data.result = response.data.result.slice(1)
0 голосов
/ 01 июня 2019
Например,

, если вам нужны только значения LGA, вы можете использовать что-то вроде этого:

let parsedJson = JSON.parse(json);                //parse json to object
let onlyLGAValues = {};                           //create a new dictionary

parsedJson.result.forEach(function(key, index){   //for each result
    onlyLGAValues[index] = key.LGA;               //push the LGA value in the new dictionary
}); 

console.log(onlyLGAValues);

ожидаемый результат:

{0: "Aurukun Shire Council", 1: "Balonne Shire Council", ... 77: "Yarrabah Shire Council"}
0 голосов
/ 01 июня 2019

Я не уверен, как вы получаете ответ от API, но вы можете попробовать:

console.log(response.data.result);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...