簡體   English   中英

在javascript中從多維數組轉換為json對象以在angular 8應用程序上的表(網格)中迭代

[英]Convert from multi-dimensional array to json Object in javascript to iterate in table (grid) on angular 8 app

實際輸出:

[["Name","Age","Location","Gender"],["Mary",28,"KY","F"],["Jonathan",34,"NJ","M"],["Kevin",31,"CA","M"]]

預期輸出:

[
  {
    "Name":"Mary",
    "Age":28,
    "Location":"KY" ,
    "Gender":"F"
  },
  {
    "Name":"Jonathan",
    "Age":34,
    "Location":"NJ",
    "Gender":"M"
  },
  {
    "Name":"Kevin",
    "Age":31,
    "Location":"CA",
    "Gender":"M"
  }
] 

請幫我解決一下這個。 這樣我就可以在表中迭代。

提前致謝

嘗試這個:

 const input = [["Name", "Age", "Location", "Gender"], ["Mary", 28, "KY", "F"], ["Jonathan", 34, "NJ", "M"], ["Kevin", 31, "CA", "M"]]; const keys = input[0]; const output = input.slice(1).map(entry => { const retVal = {}; keys.forEach((key, index) => { retVal[key] = entry[index]; }); return retVal; }); console.log(output);

從值中解構鍵。 映射值數組 ( vals ),並使用Object.fromEntries()通過映射每個值子數組 ( varr ) 創建一個對象,並結合相應的鍵創建 [key, value] 條目數組。

從值和鍵創建一個對象:

 const objecttify = ([keys, ...vals]) => // destructure the keys and an array of values vals.map(varr => // map the values Object.fromEntries( // convert the entries to an object varr.map((v, i) => [keys[i], v]) // create the entries by combining a value with it's respective key ) ) const arr = [["Name","Age","Location","Gender"],["Mary",28,"KY","F"],["Jonathan",34,"NJ","M"],["Kevin",31,"CA","M"]] const result = objecttify(arr) console.log(result)

暫無
暫無

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

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