Javascript ReactJS Object.keys().length返回值的数量而不是键数组的长度
我正试图使用Object.keys()从JSON文件中获取一个密钥数组,格式如下:Javascript ReactJS Object.keys().length返回值的数量而不是键数组的长度,javascript,reactjs,Javascript,Reactjs,我正试图使用Object.keys()从JSON文件中获取一个密钥数组,格式如下: [ { "Var1": "01-Dec-2019 00:00:00", "Var2": 14.55169 }, { "Var1": "01-Dec-2019 00:10:00", "Var2": 14.74149 }, { "Var1": "01-Dec-2019 00:20:00", "Var2": 13.26103 }] Javascript: import
[
{
"Var1": "01-Dec-2019 00:00:00",
"Var2": 14.55169
},
{
"Var1": "01-Dec-2019 00:10:00",
"Var2": 14.74149
},
{
"Var1": "01-Dec-2019 00:20:00",
"Var2": 13.26103
}]
Javascript:
import data from "../Data/test3data.json";
var test = Object.keys(this.state.data).length;
当我计算这个值时,它返回的是总数据点的数量(在我的例子中是40000),而不是2。我似乎不明白为什么
奇怪的是,如果我试图显示整个对象,我会得到以下错误
Objects are not valid as a React child (found: object with keys {Var1, Var2})
this.state.data
是一个数据点数组
Object.keys(this.state.data)
返回数组中所有这些数据点的索引
Object.keys(this.state.data).length
返回总分数
要访问此数组的特定项,您需要使用f.e.
this.state.data[0]
this.state.data
是一个数据点数组
Object.keys(this.state.data)
返回数组中所有这些数据点的索引
Object.keys(this.state.data).length
返回总分数
要访问此数组的特定项,您需要在此行后使用f.e.this.state.data[0]
:
从“./data/test3data.json”导入数据代码>
数据
等于:
[
{
"Var1": "01-Dec-2019 00:00:00",
"Var2": 14.55169
},
{
"Var1": "01-Dec-2019 00:10:00",
"Var2": 14.74149
},
{
"Var1": "01-Dec-2019 00:20:00",
"Var2": 13.26103
}]
所以它是一个对象数组。例如,数据[0]
等于:
{
"Var1": "01-Dec-2019 00:00:00",
"Var2": 14.55169
}
因此,Object.keys(this.state.data)
是[0,1,2]
,因为数组索引是键。[0,1,2]
的长度是对象总数
如果要获取Var1
,Var2
键,应执行以下操作:
Object.keys(this.state.data[0])
Object.keys(this.state.data[0])。此行后的长度
:
从“./data/test3data.json”导入数据代码>
数据
等于:
[
{
"Var1": "01-Dec-2019 00:00:00",
"Var2": 14.55169
},
{
"Var1": "01-Dec-2019 00:10:00",
"Var2": 14.74149
},
{
"Var1": "01-Dec-2019 00:20:00",
"Var2": 13.26103
}]
所以它是一个对象数组。例如,数据[0]
等于:
{
"Var1": "01-Dec-2019 00:00:00",
"Var2": 14.55169
}
因此,Object.keys(this.state.data)
是[0,1,2]
,因为数组索引是键。[0,1,2]
的长度是对象总数
如果要获取Var1
,Var2
键,应执行以下操作:
Object.keys(this.state.data[0])
Object.keys(this.state.data[0]).length
它似乎不是一个数组,因为当我试图显示它时,React特别指出“×错误:对象作为React子对象无效(找到:具有键{Var1,Var2}的对象)。如果您想要呈现子对象集合,请改用数组。”@5---------它是一个数组。错误是因为它试图显示数组的第一个元素,该元素是具有键Var1
和Var2
的对象,因此不能用作子元素。但它正确地尝试在数组上迭代。如果将数据点数组转换为可以直接传递给React的格式,则可以显示它。它似乎不是数组,因为我尝试显示它时React特别指出“×错误:对象作为React子对象无效(找到:具有键{Var1,Var2}的对象)。如果要呈现子对象集合,请使用数组。”@它是一个数组。错误是因为它试图显示数组的第一个元素,该元素是具有键Var1
和Var2
的对象,因此不能用作子元素。但它正确地尝试在数组上迭代。如果将数据点数组转换为可以直接传递到React的格式,则可以显示它。