Как отформатировать данные в заданный формат - PullRequest
0 голосов
/ 07 ноября 2018

В настоящее время я передаю данные Json как

coords: [
  {lat: 27.17841526682381, lng: 73.29395468749999}, 
  {lat: 24.88842099751237, lng: 73.64551718749999}
]

Вместо этого мне нужно отправить данные Json как

 coords: [
    {27.17841526682381, 73.29395468749999},
    {24.88842099751237, 73.64551718749999}]

Как я могу добиться того же. Как я могу получить эти результаты.

Ответы [ 4 ]

0 голосов
/ 07 ноября 2018

Попробуйте это .... используйте Object.values()

var coords= [
  {lat: 27.17841526682381, lng: 73.29395468749999}, 
  {lat: 24.88842099751237, lng: 73.64551718749999}
]


let items = [];
for (var prop in coords) {

 var val= Object.values(coords[prop]);
 items.push(val)
}
console.log(items)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
0 голосов
/ 07 ноября 2018

Все, что вам нужно, это очень простая map() операция

const coords = [
  {lat: 27.17841526682381, lng: 73.29395468749999}, 
  {lat: 24.88842099751237, lng: 73.64551718749999}
]

const res = coords.map(o => [o.lat, o.lng])

console.log(res)
0 голосов
/ 07 ноября 2018

Самый простой способ - использовать Array#map() с Object.values() в качестве обратного вызова:

coords = coords.map(Object.values);

Примечание:

Обратите внимание, что желаемый формат вывода неверен, поскольку внутренние objects недопустимы objects, они должны быть arrays.

Демо-версия:

let coords = [
  {lat: 27.17841526682381, lng: 73.29395468749999}, 
  {lat: 24.88842099751237, lng: 73.64551718749999}
];

coords = coords.map(Object.values);
console.log(coords);
0 голосов
/ 07 ноября 2018

Предполагая, что ваш вывод должен быть вложенным массивом, как:

[[27.17841526682381,73.29395468749999],
[24.88842099751237,73.64551718749999]]

Вы можете использовать reduce в вашем массиве объектов для достижения этого следующим образом:

var coords = [
  {lat: 27.17841526682381, lng: 73.29395468749999}, 
  {lat: 24.88842099751237, lng: 73.64551718749999}
];

var formattedCoords = coords.reduce((dict, item) => [...dict, [item.lat, item.lng]], []);

console.log(formattedCoords);

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...