typescript - 使用打字稿对逗号分隔的数字列表求和
问题描述
我有一个数据表,其中显示了一些包含用户输入的值的行和列。我想计算使用打字稿输入但难以找到解决方案的列的总和:
// class
export class DataTable {
public constructor(id: string) {
this.id = id;
}
public readonly id: string;
public rowCount: number = 0;
public columnCount: number = 0;
}
从“../DataTable/DataTable”导入 { DataTable }
export default
{
data() {
return {
table: new DataTable("ABC"),
tableId: "",
columnName: "",
columnValuesAsCsv: "",
rowValuesAsCsv: "",
}
},
methods:
{
onNewTable() {
console.log(`New Table: ${this.tableId}`);
// this.table....
},
onAddColumn() {
console.log(`AddColumn: ${this.columnName} = ${this.columnValuesAsCsv}`);
// this.table....
},
onAddRow() {
console.log(`Add Row: ${this.rowValuesAsCsv}`);
// this.table....
},
onSum() {
if (this.columnValuesAsCsv !== null) {
let columnSum = this.columnValuesAsCsv.split(",");
columnSum = this.columnValuesAsCsv.reduce((acc: number, item: string) => acc += parseInt(item), 0);
console.log(columnSum);
} else {
console.log('There are no column numbers entered');
}
},
}
}
我在 html 中为 UI 设置了一些表单和按钮,用户可以在控制台中创建一些行和列,然后计算总和。目前我得到 01,2,3 作为总和结果,如果没有添加列而不是该字符串消息,则得到 0。
解决方案
一个简单的reduce
会有所帮助
...
onSum() {
if (this.columnValuesAsCsv !== null) {
const columnSum = this.columnValuesAsCsv.reduce((acc, item) => acc += parseInt(item), 0);
console.log(columnSum);
} else {
...
}
}
您还需要将字符串解析为整数
推荐阅读
- python - 为什么 ColumnTransformer 不调用 fit 它的变压器?
- javascript - 如何在 React JS 中应用动画
- twitter - Social Studio Radian6 获取推文数据
- python - 无法在烧瓶中使用 monogdb 运行 docker-compose
- java - 无法从数据库中检索数据(Firebase)
- ibm-mq - 我能否在仍使用 WAS 8.5.5 的同时将我的 MQ 版本升级到 9.0?
- r - 无法对下载按钮进行条件检查
- typescript - 打字稿推断方法的错误返回?
- angular - mat-select 覆盖变换 (cdk-overlay-pane)
- python - 在 PySpark 中加入多个数据框