【问题标题】:This condition will always return 'false' since the types 'SingleDataSet' and 'number' have no overlap ng2chart [angular]此条件将始终返回 'false',因为类型 'SingleDataSet' 和 'number' 没有重叠 ng2chart [angular]
【发布时间】:2021-05-06 07:35:47
【问题描述】:

大家好,我想检查数组是否包含 0,如果它有 0,那么我想添加空格来代替 0

public atDestinationDoughnutChartData: MultiDataSet = [];

 for (let i = 0; i < this.atDestinationDoughnutChartData.length; ++i) {
                    if (this.atDestinationDoughnutChartData[i] == 0 ) {

                        this.atDestinationDoughnutChartData.push(this.atDestinationDoughnutChartData[i]);
                    }}

但我得到的错误情况总是如下图所示,请帮我解决它

screenshot

【问题讨论】:

  • this.atDestinationDoughnutChartData 的类型是什么?它看起来类型不匹配错误。
  • public atDestinationDoughnutChartData: MultiDataSet = [];

标签: angular typescript for-loop ng2-charts


【解决方案1】:

这是一个数据类型不匹配错误。您将 MultiDataSet 类型与 number 类型进行比较。因此,一个简单的解决方案是将 ! 放在 this.atDestinationDoughnutChartData[i] 之前。 !this.atDestinationDoughnutChartData[i] 等价于 this.atDestinationDoughnutChartData[i] == 0。 代码:

public atDestinationDoughnutChartData: MultiDataSet = [];
for (let i = 0; i < this.atDestinationDoughnutChartData.length; ++i) {
    if (!this.atDestinationDoughnutChartData[i]) { this.atDestinationDoughnutChartData.push(this.atDestinationDoughnutChartData[i]);}}

【讨论】:

  • 我编辑了我的答案,希望它能起作用... (!variable) 等同于 (variable == 0)。
  • bro 有没有办法为数组添加空间 for (let i = 0; i
  • 这里的错误是什么?我无法理解你。您使用相同的变量来迭代和推送值,即 this.atDestinationDoughnutChartData,为什么会这样?
  • 如果 test=[0,0,2] 数组值为零,实际上我正在尝试添加空间,那么我想将其转换为 test =["","",2] 这是我的要求 test=[0,0,2] 变成 test =[" "," ",2]
  • 使用这个代码块: let atDestinationDoughnutChartData: MultiDataSet = []; this.atDestinationDoughnutChartData = this.atDestinationDoughnutChartData.map(data: any => { if (!data) { return data} }):
猜你喜欢
  • 2023-04-01
  • 1970-01-01
  • 2022-11-09
  • 2020-12-11
  • 2019-07-03
  • 2020-01-05
  • 1970-01-01
  • 2021-09-16
  • 1970-01-01
相关资源
最近更新 更多