Javascript (已解决)React/JS如何获取对象props.data的最后一个索引值
我有一个将数组对象传递给子组件的应用程序,子组件可以通过“props.data”访问数据,其格式如下: ... 父组件(无状态) 。。。执行“console.log(props.data)”返回 我只想获取“total_cases”(键)的最后一个值,当我尝试“props.data[props.data.length-1].total_cases”时,它显示了一个未定义的错误。知道是什么导致了这个错误吗 我可以在“console.log(props.data[props.data.length-1])时获得最后一条对象记录,如下所示:Javascript (已解决)React/JS如何获取对象props.data的最后一个索引值,javascript,arrays,reactjs,object,Javascript,Arrays,Reactjs,Object,我有一个将数组对象传递给子组件的应用程序,子组件可以通过“props.data”访问数据,其格式如下: ... 父组件(无状态) 。。。执行“console.log(props.data)”返回 我只想获取“total_cases”(键)的最后一个值,当我尝试“props.data[props.data.length-1].total_cases”时,它显示了一个未定义的错误。知道是什么导致了这个错误吗 我可以在“console.log(props.data[props.data.length-
{key: 3563, date: "10/30/2020", name: "British Columbia", total_cases: 14381, cases_today: 272, …}
cases_today: 272
date: "10/30/2020"
deaths_today: 1
key: 3563
name: "British Columbia"
tested_today: 5488
total_cases: 14381
total_deaths: 263
__proto__: Object
谢谢你抽出时间
通过以下方式解决此问题:
var lastDate = "";
// Date: Name, Total_Cases, Cases_Today, TestedToday, Deaths_Today, Percent_Today, Percent_death, Percent_Recovered
for(var i=0; i<totalRows; i++){
...
if (i===totalRows-1){
lastDate = new Date(dataObj[i]["properties"]["Date"]).toLocaleString().split(',')[0]
}
}
return <DisplayLineChart
key = {name}
data = {array.filter(array => array.name === name)}
name = {name}
totalCase = {array.filter(array => array.name === name && array.date === lastDate)
.map( array => {return array.total_cases;})}
/>;
var lastDate=”“;
//日期:姓名、病例总数、今日病例、今日检测、今日死亡、今日百分比、死亡百分比、康复百分比
对于(变量i=0;i array.name==name&&array.date==lastDate)
.map(数组=>{return array.total_cases;})}
/>;
您正在尝试获取对象的长度,而该长度不是一个东西
可以得到数组的.length
使用循环也不是一种很好的方法
const data = Array.from({ length: totalRows }).map((_, i) => ({
key: i,
date: new Date(dataObj[i]["properties"]["Date"]).toLocaleString().split(',')[0],
name: dataObj[i]["properties"]["Name"],
total_cases: dataObj[i]["properties"]["Total_Cases"],
cases_today: dataObj[i]["properties"]["Cases_Today"],
tested_today: dataObj[i]["properties"]["TestedToday"],
total_deaths: dataObj[i]["properties"]["Deaths"],
deaths_today: dataObj[i]["properties"]["Deaths_Today"],
}))
console.log('data: ', data)
console.log('lastData: ', data[data.length - 1])
嗨,我忘了提到obj被初始化为数组,我只是将对象推送到数组中。我调试了我的代码,但仍然没有解决我的问题。谢谢你的建议!
{key: 3563, date: "10/30/2020", name: "British Columbia", total_cases: 14381, cases_today: 272, …}
cases_today: 272
date: "10/30/2020"
deaths_today: 1
key: 3563
name: "British Columbia"
tested_today: 5488
total_cases: 14381
total_deaths: 263
__proto__: Object
var lastDate = "";
// Date: Name, Total_Cases, Cases_Today, TestedToday, Deaths_Today, Percent_Today, Percent_death, Percent_Recovered
for(var i=0; i<totalRows; i++){
...
if (i===totalRows-1){
lastDate = new Date(dataObj[i]["properties"]["Date"]).toLocaleString().split(',')[0]
}
}
return <DisplayLineChart
key = {name}
data = {array.filter(array => array.name === name)}
name = {name}
totalCase = {array.filter(array => array.name === name && array.date === lastDate)
.map( array => {return array.total_cases;})}
/>;
const data = Array.from({ length: totalRows }).map((_, i) => ({
key: i,
date: new Date(dataObj[i]["properties"]["Date"]).toLocaleString().split(',')[0],
name: dataObj[i]["properties"]["Name"],
total_cases: dataObj[i]["properties"]["Total_Cases"],
cases_today: dataObj[i]["properties"]["Cases_Today"],
tested_today: dataObj[i]["properties"]["TestedToday"],
total_deaths: dataObj[i]["properties"]["Deaths"],
deaths_today: dataObj[i]["properties"]["Deaths_Today"],
}))
console.log('data: ', data)
console.log('lastData: ', data[data.length - 1])