簡體   English   中英

如何從嵌套的 object 個對象中提取鍵和值?

[英]How can I extract keys and values from a nested object of objects?

這是我上次采訪中的一個問題,我正試圖解決這個問題:在這種情況下,我想捕獲嵌套的 object 中的值並將它們記錄到控制台中。

const obj1 = {
  foo: 1,
  bar: {
    foo1: 2,
    bar1: {
      foo2: {
        foo3: 3,
        bar2: 4
      },
      bar3: 5
    }
  }
};

// output: [1,2,3,4,5] //

實際上,我的意思是以專業的方式。 不是這樣的:

[obj1.foo, obj1.bar.foo1, obj1.bar.bar1.foo2.foo3, obj1.bar.bar1.foo2.bar2, obj1.bar.bar1.bar3]

你可以這樣做

 const obj1 = { foo: 1, bar: { foo1: 2, bar1: { foo2: { foo3: 3, bar2: 4 }, bar3: 5 } } }; const getValues = (data, values= []) => { if(typeof data.== 'object'){ return [..,values. data] } return Object.values(data),flatMap(v => getValues(v. values)) } console.log(getValues(obj1))

您可以獲得這樣的特定屬性:

> function nestedObject (nested) {
>     for (const key in nested) {
>       if (typeof nested[key] === 'object') {
>         for (const nesty in nested[key]) {
>            console.log(nested[key][nesty]);
>         }
>       } else {
>         console.log(nested[key]);
>       }
>     }   }
>      nestedObject(obj1);

暫無
暫無

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

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