如何访问数组中的嵌套元素(javascript)
我有这样一个数组:如何访问数组中的嵌套元素(javascript),javascript,arrays,reactjs,Javascript,Arrays,Reactjs,我有这样一个数组: 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
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”
console.log(this.props.countrysideTypes[0]。字段[0])///TypeError:无法读取未定义的属性“field”
console.log(this.props.countrysideTypes.field)//未定义的
console.log(this.props.countrysideTypes[0].field[0])
您有一个包含对象的数组。在您想要访问的对象中,数组被分配到属性字段。感谢您的帮助!数据来自firebase实时数据库。看起来它只是嵌套得太深了。 最后它是这样工作的:
let objectArray = Object.entries(this.props.countrysideTypes);
let types = [];
objectArray.forEach(([key, value]) => {
types = value.field;
});
console.log(types[0]); //"Wood"
是的,我也这么认为,但事实并非如此。这给了我:无法读取未定义的属性“field”这是访问数组中嵌套对象、检查键入错误和记录道具的方法,以检查您是否接收到所有要访问的内容,前两次尝试产生的输出与您描述的相同,后两次尝试工作正常(打开浏览器的实际JS控制台)。如果您的数据表现不同,一个重要的细节是:它来自哪里?