簡體   English   中英

在JavaScript中將數組轉換為對象

[英]Converting an array to object in JavaScript

我在客戶端有一個像這樣動態創建的數組。

value = [
  [-88.17179185999998, 41.78264698400005],
  [-88.17193080699997, 41.782605419000056]
]

並且我需要以添加新"spatialReference": {"wkid": 4326 }順序將其以對象格式存儲"spatialReference": {"wkid": 4326 }

   var params = [
     {
       "x": -88.17179185999998,
       "y": 41.78264698400005,
       "spatialReference": {"wkid": 4326 }
     }, 
     {
       "x": -88.17193080699997,
       "y": 41.782605419000056,
       "spatialReference": {"wkid": 4326 }
     }
   ];

我怎樣才能做到這一點?

您可以簡單地使用.map()

 const value = [ [-88.17179185999998, 41.78264698400005], [-88.17193080699997, 41.782605419000056] ]; const objs = value.map(([x, y]) => ({ x, y, spatialReference: {wkid: 4326 } })); console.log(objs); 

.map()僅遍歷每個元素,並對它運行一些功能,然后使用該結果生成一個新數組。 從a到b轉換數組中的元素非常容易。

使用map創建對象數組:

 var value = [ [-88.17179185999998, 41.78264698400005], [-88.17193080699997, 41.782605419000056] ] var data = value.map(function(elem) { return { x: elem[0], y: elem[1], spatialReference: { wkid: 4326 } } }) console.log(data) 

或使用es6:

 const value = [ [-88.17179185999998, 41.78264698400005], [-88.17193080699997, 41.782605419000056] ] let data = value.map(elem => ({ x: elem[0], y: elem[1], spatialReference: { wkid: 4326 } })) console.log(data) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM