javascript - 如何过滤地图字段数组
问题描述
我有以下项目数组,我映射这些项目以获得结果
var items = $.grep($.selections);
其中项目如下所示:
0: {ID: "310882", Type: "W", Total: 10}
1: {ID: "31094", Type: "W", Total: 10}
2: {ID: "307969", Type: "W", Total: 10}
3: {ID: "311951", Type: "W",Total: 10}
4: {ID: "ItemCover_1611315351331", Type: "F", Total: 5, AmountDue:55}
所以我想做的是得到所有我可以的总计如下
var AllTotal=items.map(x => x.Total);
这给了我以下结果
0: 10
1: 10
2: 10
3: 10
4: 5
如果你注意到数组中的这个项目,我的问题
4: {ID: "ItemCover_1611315351331", Type: "F", Total: 5, AmountDue:55}
它有一个 ID:以“ItemCover”开头,它的 AmountDue 为 55
当我有这种性质的项目时,我如何过滤掉总计 5 个并将其替换为应付金额,以便它现在看起来像这样
var AllTotal
0: 10
1: 10
2: 10
3: 10
4: 55
解决方案
假设您想要 AmountDue(如果存在)的最简单版本
const arr = [{ID: "310882", Type: "W", Total: 10},
{ID: "31094", Type: "W", Total: 10},
{ID: "307969", Type: "W", Total: 10},
{ID: "311951", Type: "W",Total: 10},
{ID: "ItemCover_1611315351331", Type: "F", Total: 5, AmountDue:55}];
const newArr = arr.map(({Total,AmountDue}) => AmountDue || Total)
console.log(newArr)
推荐阅读
- javascript - SessionStorage 复制具有相同 ID 的对象
- node.js - JWT 令牌不特定于用户
- java - 休眠:来自 HqlSqlWalker 的 NullPointerException
- algorithm - 在计算它们的接近程度后从 3 个值中选择 2 个或 3 个值的算法
- postgresql - React-admin:dataProvider 抛出错误。它应该返回一个被拒绝的 Promise。- 尝试在 pg 数据库中设置参照完整性
- complexity-theory - O(n*log n) + O(m*log m) 与 O((n+m)log(n+m))
- javascript - 反应firebase自定义字段身份验证创建用户未将自定义字段存储在firestore数据库集合中
- java - java.io.IOException:流已关闭!ADLS Gen 2 中的 HDInsight 错误
- entity-framework - 实体框架嵌套查询
- asp.net-mvc - MVC 问题与在第三个中实现的 2 个不同 SQL 表中的级联下拉列表