簡體   English   中英

如何到達數組中的嵌套元素(javascript)

[英]How can I reach a nested element in an array (javascript)

我有一個這樣的數組:

console.log(this.props.countrysideTypes) 

[{…}]
0:
field: Array(8)
0: "Wood"
1: "Grain"
2: "Grain"
3: "Grain"
4: "Stone"
5: "Iron"
6: "Grain"
7: "Grain"
length: 8
__proto__: Array(0)
id: "-MHLWLm8bFRE2_1aahWk"
userId: "lPqZ8Oj90Se2qBEIzTJq1OSfbo62"
__proto__: Object
length: 1
__proto__: Array(0)

現在我想到達例如第一項“木材”

我試過

console.log(this.props.countrysideTypes[0])

這給了我:

{field: Array(8), userId: "lPqZ8Oj90Se2qBEIzTJq1OSfbo62", id: "-MHLWLm8bFRE2_1aahWk"}
field: Array(8)
0: "Wood"
1: "Grain"
2: "Grain"
3: "Grain"
4: "Stone"
5: "Iron"
6: "Grain"
7: "Grain"
length: 8
__proto__: Array(0)
id: "-MHLWLm8bFRE2_1aahWk"
userId: "lPqZ8Oj90Se2qBEIzTJq1OSfbo62"
__proto__: Object

但我無法獲得更深的嵌套項目。 我試過

console.log(this.props.countrysideTypes[0].field) //TypeError:無法讀取未定義的屬性'field' console.log(this.props.countrysideTypes[0][0]) //TypeError:無法讀取屬性'field' of undefined console.log(this.props.countrysideTypes[0].field[0]) //TypeError: Cannot read property 'field' of undefined console.log(this.props.countrysideTypes.field) // undefined

這應該工作

console.log(this.props.countrysideTypes[0].field[0]) 

您有一個包含 Object 的數組。 在對象中,你有一個你想要訪問的數組,它被分配給屬性字段。

感謝您的幫助! 數據來自 firebase 實時數據庫。 似乎只是嵌套太深了。 最后它像這樣工作:

    let objectArray = Object.entries(this.props.countrysideTypes);

    let types = [];

    objectArray.forEach(([key, value]) => {
        types = value.field;
      });

    console.log(types[0]); //"Wood"

暫無
暫無

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

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