Vue Reduce方法功能不起作用

时间:2019-12-14 23:48:22

标签: javascript arrays vue.js

我正在尝试计算从存储在Firebase中的客户端对象数组返回的总余额。

我正在为此项目使用Vue。目前,它正在返回NaN

,因此无法正常工作
computed: {
    totalOwed() {
      if (this.clients && !this.loading) {
        // console.log(this.clients);
        this.clients.reduce((total, client) => {
          return total + parseFloat(client.balance.toString());
        }, 0);
      }
      return null;
    },
    ...mapState(["clients", "user", "loading"])
  }

当我在模板中使用totalOwed计算属性时,我得到了NaN作为值。 这是Github linkLive site

可以在Clients.vue目录内的src/components/clients中找到代码

1 个答案:

答案 0 :(得分:2)

您使用了错误的数据结构。应该不是client.balance.stringValue吗?

-  return total + parseFloat(client.balance.toString()); // delete this line
+  return total += parseFloat(client.balance.stringValue); // add this line

return之前加上this.clients.reduce...