javascript - 如何为javascript关联数组添加验证

标签 javascript angularjs

我想为以下 java 脚本关联数组添加验证。

这是我的数组结构

array = [
         { id: 1, remaining_amount: 30, total: 20 },
         { id: 1, remaining_amount: 30, total: 20 },
         { id: 2, remaining_amount: 50, total: 40 }
        ]

从上面的数组中,对于id 1,剩余数量为30,但总数量为40

所以我想添加验证,如果总金额大于特定 id 的剩余金额,那么它会显示消息。

有什么想法吗?

最佳答案

您可以使用reducefilter

使用reduce来汇总总数。并使用 filter 获取所有那些 total 大于 remaining_amount

的数组

var array = [{ id: 1, remaining_amount: 30, total: 20 },{ id: 1, remaining_amount: 30, total: 20 },{ id: 2, remaining_amount: 50, total: 40 }];

var result = Object.values(array.reduce((c, v) => {
  c[v.id] = c[v.id] || {id: v.id,remaining_amount: v.remaining_amount,total: 0};
  c[v.id].total += v.total;
  return c;
}, {})).filter(o => o.remaining_amount < o.total);

console.log(result);

关于javascript - 如何为javascript关联数组添加验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49624204/

相关文章:

javascript - 从 Angular 对象创建 url 对象

javascript - Angular ng-repeat 需要更改从 json 获取的数据

javascript - 如何使用单击JavaScript更改动态创建的div的背景?

javascript - Firebase实时数据交互

javascript - 作用域的动态变量名

javascript - 如何创建可以在 AngularJS 上使用 Controller 访问的辅助类

javascript - 在范围内访问时服务变量未定义

javascript - 使用 contenteditable 计算字符数

javascript - 在 JavaScript 中向函数添加行为?

javascript - 直接从 url 打印 PDF