gpt4 book ai didi

javascript - 我对 `data.filter` 做错了什么

转载 作者:行者123 更新时间:2023-12-01 01:41:06 27 4
gpt4 key购买 nike

我尝试使用 data.filter() 过滤数据,因为我需要找到不等于 0 的元素,直到这里过滤正确的数据方式:

代码

 this.tax = data.filter((item) =>item.value_tax != 0)
.map((item) => +item.value_tax )
.reduce((acc, obj) => acc +
(
(((Number(obj.cost) * Number(obj.quantity)) - ((Number(obj.cost) * Number(obj.quantity) * Number(obj.discount)) / 100)) * Number(obj.calculate_tax))
)
-
(
(((Number(obj.cost) * Number(obj.quantity)) - (Number(obj.cost) * Number(obj.quantity) * Number(obj.discount)) / 100))
),
0);
console.log("Tax: ", this.tax)

结果控制台

Tax:  
(3) […]

0: Object { id_factura_pivote: "1", cantidad_factura_pivote: "3", fecha_factura_pivote: "2018-09-14", … }

1: Object { id_factura_pivote: "5", cantidad_factura_pivote: "20", fecha_factura_pivote: "2018-09-14", … }

2: Object { id_factura_pivote: "6", cantidad_factura_pivote: "1", fecha_factura_pivote: "2018-09-19", … }

length: 3

在我的例子中,我有4个元素,只有3个与0不同,但它只带来或显示data的数据,而不是我想要的计算显示给用户。应该注意的是,如果我不使用 data.filterdata.map 它会给我带来正确的数据,但它需要 4 个元素(意外结果),因为我只想要 3(在本例中)或与 0 不同的元素。

最佳答案

语法不正确。这些逗号没有做任何事情,所以你的控制台基本上只返回 filter 的结果。 。这些方法需要链接起来。

data.filter((item) =>item.value_tax != 0)
.map((item) => +item.value_tax )
.reduce((acc, obj) => acc +
(
(((Number(obj.cost) * Number(obj.quantity)) - ((Number(obj.cost) * Number(obj.quantity) * Number(obj.discount)) / 100)) * Number(obj.calculate_tax))
)
-
(
(((Number(obj.cost) * Number(obj.quantity)) - (Number(obj.cost) * Number(obj.quantity) * Number(obj.discount)) / 100))
),

即使如此,如何将数组中的项目映射为数字,然后尝试访问 obj.cost 仍然存在问题。和obj.quantity 。您想通过映射实现什么目的?

关于javascript - 我对 `data.filter` 做错了什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52409985/

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