gpt4 book ai didi

javascript - 查找行数组中最后一列的最后一个值

转载 作者:行者123 更新时间:2023-12-04 08:25:11 26 4
gpt4 key购买 nike

我正在尝试解释此代码,该代码用于对最后一列中的所有值进行求和

rows.map(r => r[Object.keys(r)[Object.keys(r).length - 1]]).reduce((a, b) => a + b, 0);
这是什么意思 ?任何人都可以建议我如何重写它以在最后一列中提供最新值?

最佳答案

考虑是否 rows曾是:

rows = [
{"a": 1, "b": 2, "c": 3},
{"a": 4, "b": 5, "c": 6}
];
代码说:对于“最后”列(即 c),将列 c 中的值相加.
这一点: Object.keys(r).length - 1确定每行“对象”中的属性数量,即“最后”列是“最后”属性,并使用 -1你知道键的索引。在示例中,每行有 3 列,索引为 c是 2。
这一点: Object.keys(r)[Object.keys(r).length - 1]然后返回值 c因为它位于每个行对象的键列表中的索引 2(假设每个行对象具有类似的命名和排序键)。
所以整件事: rows.map(r => r[Object.keys(r)[Object.keys(r).length - 1]]).reduce((a, b) => a + b, 0);只是说一样: rows.map(r => r["c"]).reduce((a, b) => a + b, 0);除了 c必须弄清楚 - 大概您使用此代码并且不知道“最后一列”的键。
所以要找到最后一列的最后一个值,您不需要 reduce您只想知道数组中的行数并减去 1 以获得索引的函数,例如: rows.map(r => r[Object.keys(r)[Object.keys(r).length - 1]])[rows.length - 1]
const rows = [{"a": 1, "b": 2, "c": 3}, {"a": 4, "b": 5, "c": 6}];

const finalColumnSum = rows.map(r => r[Object.keys(r)[Object.keys(r).length - 1]]).reduce((a, b) => a + b, 0);

const finalValue = rows.map(r => r[Object.keys(r)[Object.keys(r).length - 1]])[rows.length - 1];

console.log(`Last column sum: ${finalColumnSum}`);

console.log(`Last column/ row value: ${finalValue}`);

关于javascript - 查找行数组中最后一列的最后一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65303828/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com