Javascript 反应表:如何将总计(总和)值添加到每个holeOne到HoleLine,并将总和显示为值in out:41?

Javascript 反应表:如何将总计(总和)值添加到每个holeOne到HoleLine,并将总和显示为值in out:41?,javascript,reactjs,Javascript,Reactjs,尝试合计每个孔的值并显示总输入输出: out:S{holesSum} 返回对象 导出常量数据=[ { id:2, 名称:“老虎伍兹”, holeOne:4, holeTwo:5, holeThree:4, 霍尔福:5, 五:五,, holeSix:4, holeSeven:5, Holeelight:5, holeNine:4, out://要将holeOne到holeNine的值相加 } ] 从“反应表”导入反应表; 从“React”导入React,{Component}; 从“./data”

尝试合计每个孔的值并显示总输入输出:

out:S{holesSum}

返回对象

导出常量数据=[ { id:2, 名称:“老虎伍兹”, holeOne:4, holeTwo:5, holeThree:4, 霍尔福:5, 五:五,, holeSix:4, holeSeven:5, Holeelight:5, holeNine:4, out://要将holeOne到holeNine的值相加 } ] 从“反应表”导入反应表; 从“React”导入React,{Component}; 从“./data”导入{data}; 常量列=[ { 标题:“地点”, 访问器:“eventPosition”, headerStyle:{whiteSpace:'unset'}, 样式:{whiteSpace:'unset'}, 最大宽度:60 }, { 头球:“球员”, 访问者:“名称”, headerStyle:{whiteSpace:'unset'}, 样式:{whiteSpace:'unset'}, 最大宽度:200 }, { 标题:“1”, 访问器:“holeOne”, headerStyle:{whiteSpace:'unset'}, 样式:{whiteSpace:'unset'}, 最大宽度:50 }, { 标题:“2”, 存取器:“holeTwo”, headerStyle:{whiteSpace:'unset'}, 样式:{whiteSpace:'unset'}, 最大宽度:50 }, { 标题:“3”, 存取器:“holeThree”, headerStyle:{whiteSpace:'unset'}, 样式:{whiteSpace:'unset'}, 最大宽度:50 }, { 标题:“4”, 访问者:“holeFour”, headerStyle:{whiteSpace:'unset'}, 样式:{whiteSpace:'unset'}, 最大宽度:50 }, { 标题:“5”, 访问器:“holeFive”, headerStyle:{whiteSpace:'unset'}, 样式:{whiteSpace:'unset'}, 最大宽度:50 }, { 标题:“6”, 存取器:“holeSix”, headerStyle:{whiteSpace:'unset'}, 样式:{whiteSpace:'unset'}, 最大宽度:50 }, { 标题:“7”, 访问者:“holeSeven”, headerStyle:{whiteSpace:'unset'}, 样式:{whiteSpace:'unset'}, 最大宽度:50 }, { 标题:“8”, 访问者:“Holeelight”, headerStyle:{whiteSpace:'unset'}, 样式:{whiteSpace:'unset'}, 最大宽度:50 }, { 标题:“9”, 存取器:“holeNine”, headerStyle:{whiteSpace:'unset'}, 样式:{whiteSpace:'unset'}, 最大宽度:50 }, { 标题:“出局”, 访问器:“out”, headerStyle:{whiteSpace:'unset'}, 样式:{whiteSpace:'unset'}, 最大宽度:50 } ]; 导出默认类ReactTableComponent扩展组件{ 渲染{ 回来 ; } } {holeOne}。。。{holeNine}.还原 从中,您可以自定义单元格


这是reduce函数的完美示例,如下所示:

const columns_to_sum = ["holeOne","holeTwo" , "holeThree" , "holeFour" , "holeFive" , "holeSix" , "holeSeven" , "holeEight" , "holeNine"];
{
    Header: 'Out',
    accessor: 'out',
    headerStyle: { whiteSpace: 'unset' },
    style: { whiteSpace: 'unset' },
    maxWidth: 50,
    Cell: row => rowData => columns_to_sum.reduce((sum, hole) => sum + rowData.row[hole] || 0,0)
}
使用reduce消除了在外部更新变量的需要,并很好地封装了函数。您也不会像with map那样生成数组,因为它会被丢弃,所以这种方法也更快


这是答案。

我不明白你的问题:-。你会考虑重新制定吗?请考虑接受HI @基思,检查我的解决方案,如果有帮助的话,请告诉我。嗨,基思,读这篇文章,然后尝试关闭这个问题。
const columns_to_sum = ["holeOne","holeTwo" , "holeThree" , "holeFour" , "holeFive" , "holeSix" , "holeSeven" , "holeEight" , "holeNine"];
{
    Header: 'Out',
    accessor: 'out',
    headerStyle: { whiteSpace: 'unset' },
    style: { whiteSpace: 'unset' },
    maxWidth: 50,
    Cell: row => rowData => columns_to_sum.reduce((sum, hole) => sum + rowData.row[hole] || 0,0)
}