如何将数据格式化为给定格式

时间:2018-11-07 07:14:56

标签: javascript jquery arrays json object

当前,我将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 :(得分:0)

您所需要的只是一个非常简单的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)

答案 1 :(得分:0)

最简单的方法是将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);

答案 2 :(得分:0)

尝试一下。...使用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>

答案 3 :(得分:-1)

假设您的输出应为嵌套数组,例如:

[[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