【发布时间】:2020-07-10 15:00:13
【问题描述】:
我正在使用 Angular 开发一个计费应用程序。我的 items 数组返回如下(此处部分显示 1 个项目):-
items: [{
_id: "5ee2298f59ce2e1747cb5539"
createdAt: "2020-06-11T12:54:40.031Z"
itemDescription: "White Bread of small size."
itemGroup: {_id: "5ec7bab54794600d9f4cd24f", itemGroupName: "Breads White"}
itemName: "Bread White - Small Slice"
itemStdRate:
0: {_id: "5eff39485c73781aa1b0b60f", stdRate: 20, applicableFrom: "2020-07-28T18:30:00.000Z"}
1: {_id: "5f02d64ccc5e5f15bfb73f41", stdRate: 18, applicableFrom: "2020-07-06T07:43:58.446Z"}
length: 2
itemUnit: {_id: "5ec932fe54799a1e7bbe9cd5", itemUnitSymbol: "nos", itemUnitName: "Numbers"}
updatedAt: "2020-07-06T13:02:01.369Z"
}]
我希望它返回 latest applicableFrom 日期的 stdRate,直到 itemStdRate 的子数组中的给定日期。
【问题讨论】:
-
"items" 是一个对象,而不是一个数组。如果您希望在过滤到正确的 itemStdRate 方面获得帮助,请提供一个准确形成的对象/数组/无论如何实际返回的东西。
-
您能分享一下您尝试实现相同目标的代码吗?
-
为了实现你想要的,我认为你必须改变你的数据结构,使
itmStdRate成为一个数组。然后您可以通过applicableFrom属性对数组进行排序,然后与输入日期进行比较 -
您的示例不是
JSON(尝试使用任何在线 JSON 解析器对其进行解析 - 您会收到错误消息)。它不是Array,也不是Object(至少在JavaScript 中不是)。它类似于JSON或Object,但看起来您是从不尊重格式的来源复制的(例如console) -
这只是对象数组的一部分..
标签: javascript arrays json angular