Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript (已解决)React/JS如何获取对象props.data的最后一个索引值_Javascript_Arrays_Reactjs_Object - Fatal编程技术网

Javascript (已解决)React/JS如何获取对象props.data的最后一个索引值

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-

我有一个将数组对象传递给子组件的应用程序,子组件可以通过“props.data”访问数据,其格式如下: ... 父组件(无状态)

。。。执行“console.log(props.data)”返回

我只想获取“total_cases”(键)的最后一个值,当我尝试“props.data[props.data.length-1].total_cases”时,它显示了一个未定义的错误。知道是什么导致了这个错误吗

我可以在“console.log(props.data[props.data.length-1])时获得最后一条对象记录,如下所示:

{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])