2017-06-21 76 views
-1

我有類似的東西。在javascript中刪除一個KEY名稱

"data": { 
     "abcd": [ 
      { 
       "abc": { 
        "fr": "India", 
        "to": "Moon", 
       } 
      }, 
      { 
       "abc": { 
        "fr": "Mars", 
        "to": "Jupiter", 
       } 
      } 
     ], 
     "distance": 1234, 
    } 

但我想轉換爲這樣的事情

"data": { 
      "abcd": [ 
       { 

         "fr": "India", 
         "to": "Moon", 
       }, 
       { 

         "fr": "Mars", 
         "to": "Jupiter", 

       } 
      ], 
      "distance": 1234, 
     } 

我想brign農行對象內部的細節,讓他們爲對象的ABCD數組內未命名的對象。

請幫忙。

+2

和你嘗試過這麼遠嗎? –

+0

添加有問題的代碼 –

+0

@Aneek如此刪除一個鍵,你試過推? – evolutionxbox

回答

1

使用Array#map迭代陣列並返回每個對象的abc鍵的內容。分配結果obj.data.abcd

const obj = {"data":{"abcd":[{"abc":{"fr":"India","to":"Moon"}},{"abc":{"fr":"Mars","to":"Jupiter"}}],"distance":1234}}; 
 

 
obj.data.abcd = obj.data.abcd.map((o) => o.abc); 
 

 
console.log(obj);

4

一個簡單reduce()就足夠

let obj = { 
 
    "data": { 
 
    "abcd": [{ 
 
     "abc": { 
 
      "fr": "India", 
 
      "to": "Moon", 
 
     } 
 
     }, 
 
     { 
 
     "abc": { 
 
      "fr": "Mars", 
 
      "to": "Jupiter", 
 
     } 
 
     } 
 
    ], 
 
    "distance": 1234, 
 
    } 
 
}; 
 

 
obj.data.abcd = obj.data.abcd.reduce((a, b) => a.concat(b.abc), []); 
 

 
console.log(obj);

+2

這是一個很好的答案,但請不要提供飼料 - 否則SO會變成一種編碼服務,每個人都會發布第一時間的問題,很少有人知道研究或努力。 – G0dsquad

+0

這是什麼問題? –

+0

由於OP不太可能理解你所寫的內容,你可以添加一個關於你的代碼的簡單解釋嗎? – evolutionxbox