簡體   English   中英

從 JavaScript object 和 output 獲取所有鍵值到表

[英]Getting all key values from JavaScript object with output to table

我有一個看起來像這樣的 JavaScript object,有沒有辦法在不指定名稱的情況下搜索每個鍵值?

[ '1AB': { a: 'AB',
    q: 0,
    t: 0,
    pb: 0,
    tb: 0,
    po: 0,
    to: 0,
    pn: 0,
    tn: 0,
    type1: 'mix' },
  '1AJ': { a: 'AJ',
    q: 0,
    t: 0,
    pb: 0,
    tb: 0,
    po: 0,
    to: 0,
    pn: 0,
    tn: 0,
    type1: 'mix' },
  '1AK': { a: 'AK',
    q: 0,
    t: 0,
    pb: 0,
    tb: 0,
    po: 0,
    to: 0,
    pn: 0,
    tn: 0,
    type1: 'mix' }
]

在這里,您可以看到 object 由多個名稱為“1AB”的對象組成,依此類推。 實際上有400個。

我想將這個 object 和 output 中的所有 400 個對象讀取到一個表中,這樣它就有 400 個列乘以 13 行和 5,200 個單元格。

首先,您發布的代碼有錯誤

[
  '1AB': { a: 'AB', q: 0, t: 0, pb: 0, tb: 0, po: 0, to: 0, pn: 0, tn: 0, type1: 'mix' },
  '1AJ': { a: 'AJ', q: 0, t: 0, pb: 0, tb: 0, po: 0, to: 0, pn: 0, tn: 0, type1: 'mix' },
  '1AK': { a: 'AK', q: 0, t: 0, pb: 0, tb: 0, po: 0, to: 0, pn: 0, tn: 0, type1: 'mix' },
]

您編寫了這樣的代碼,這是錯誤的,因為 Array 的元素沒有鍵。

它應該看起來像這樣:

{
  '1AB': { a: 'AB', q: 0, t: 0, pb: 0, tb: 0, po: 0, to: 0, pn: 0, tn: 0, type1: 'mix' },
  '1AJ': { a: 'AJ', q: 0, t: 0, pb: 0, tb: 0, po: 0, to: 0, pn: 0, tn: 0, type1: 'mix' },
  '1AK': { a: 'AK', q: 0, t: 0, pb: 0, tb: 0, po: 0, to: 0, pn: 0, tn: 0, type1: 'mix' },
}

解決方案

Object.entries會做你想做的事。

const data = {
  '1AB': { a: 'AB', q: 0, t: 0, pb: 0, tb: 0, po: 0, to: 0, pn: 0, tn: 0, type1: 'mix' },
  '1AJ': { a: 'AJ', q: 0, t: 0, pb: 0, tb: 0, po: 0, to: 0, pn: 0, tn: 0, type1: 'mix' },
  '1AK': { a: 'AK', q: 0, t: 0, pb: 0, tb: 0, po: 0, to: 0, pn: 0, tn: 0, type1: 'mix' },
}

Object.entries(data).forEach(([key, value]) => {
  console.log(`key is "${key}"`)
  console.log(`value of property "a" is "${value.a}"`)
});

安慰:

'key is "1AB"'
'value of property "a" is "AB"'
'key is "1AJ"'
'value of property "a" is "AJ"'
'key is "1AK"'
'value of property "a" is "AK"'

因此,現在您可以使 object 成為可迭代的。 您可以使用任何方法制作表格

暫無
暫無

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

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