如何使用JavaScript替换对象数组中的键和值

斯里努·阿贾拉普

我写了一个函数initMap(response){....}。响应是一个对象数组,看起来像

In console :
(6)[{…}, {…}, {…}, {…}, {…}, {…}] 
0: {latitude: "17.0009", longitude: "82.2108"}
1: {latitude: "17.0504", longitude: "82.1659"}
2: {latitude: "17.1529", longitude: "82.2228"}
3: {latitude: "17.1621", longitude: "82.1921"}
4: {latitude: "17.0004", longitude: "82.2211"}
5: {latitude: "17.1235", longitude: "82.1926"}
length: 6
__proto__: Array(0)

我想要像这样的数组的输出

 (6) [{…}, {…}, {…}, {…}, {…}, {…}]
  0: {lat: 17.0009, lng: 82.2108}
  1: {lat: 17.0504, lng: 82.1659}
  2: {lat: 17.1529, lng: 82.2228}
  3: {lat: 17.1621, lng: 82.1921}
  4: {lat: 17.0004, lng: 82.2211}
  5: {lat: 17.1235, lng: 82.1926}
  length: 6
  __proto__: Array(0)

为了得到这个,我尝试使用替换的方式

var eventlist = JSON.stringify(response);//Jsonresult
console.log(eventlist);

var eventstring = new String();
eventstring = eventlist.replace(/"/g, "");
events = eventstring.replace(/latitude/g, "lat").replace(/longitude/g, "lng");

 console.log(events);

这样做时,我正在控制台中以这种方式得到结果

[{lat:17.0009,lng:82.2108},{lat:17.0504,lng:82.1659},{lat:17.1529,lng:82.2228},{lat:17.1621,lng:82.1921},{lat:17.0004,lng:82.2211},{lat:17.1235,lng:82.1926}]

它看起来像字符串,但我需要输出

(6) [{…}, {…}, {…}, {…}, {…}, {…}]
  0: {lat: 17.0009, lng: 82.2108}
  1: {lat: 17.0504, lng: 82.1659}
  2: {lat: 17.1529, lng: 82.2228}
  3: {lat: 17.1621, lng: 82.1921}
  4: {lat: 17.0004, lng: 82.2211}
  5: {lat: 17.1235, lng: 82.1926}
  length: 6
  __proto__: Array(0)

如何做到这一点,请给我一个想法。

一定的表现

使用.map迭代阵列之上,并为每一项新的对象:

const output = arr.map(({ latitude, longitude }) => ({
  lat: Number(latitude),
  lng: Number(longitude)
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章