【发布时间】:2020-04-03 21:21:45
【问题描述】:
我有一个数组,其中的对象的键与另一个具有相同键的对象数组匹配,第一个键的值是月份索引(0 = 一月,1 = 二月等)和积分可能会跨越一年 (a:10, a:11, a:0, a:1)
但是第一个数组可能有不同数量的对象,并且一个对象上的键的值可能不存在于同一键上的另一个对象中,反之亦然。
假设两个数组都已正确排序,我想比较这两个数组,如果一个数组缺少一个对象,而另一个数组的键值为另一个数组,我想向第一个数组添加一个新对象具有相同的键和值,在没有它的数组中的相同位置/索引中,就像在有它的数组中一样。
let arr1 = [{a:0, b:1},{a:1, b:3},{a:3, b:18},{a:4, b:2}]
let arr2 = [{a:10, b:2},{a:11, b:4},{a:0, b:8},{a:1, b:5},{a:2, b:1}]
arr1 缺少存在于arr2 中的a 值为10、11 和2 的对象,而arr2 缺少存在于@ 中的a 值为3 和4 的对象987654331@
我想结束的是:
arr1 = [{a:10, b:0},{a:11, b:3},{a:0, b:1},{a:1, b:3},{a:2, b:0},{a:3, b:18},{a:4, b:2}]
arr2 = [{a:10, b:2},{a:11, b:4},{a:0, b:8},{a:1, b:5},{a:2, b:1},{a:3, b:0},{a:4, b:0}]
现在arr1 拥有a:10、a:11 和a:2 的新项目/对象,而
arr2 有 a:3 和 a:4 的新项目,所有这些项目的 b 值为 0;
我尝试在纸上将其绘制出来,以从逻辑上了解我会在物理上做什么,但我就是无法理解它,所以“傻瓜”的答案会非常有帮助。我以为我已经学到了足够的知识来就业,但这真的让我很难受,而且它只是一个简单的 HTML5 画布线图。我从数据库中获取数据以比较同一图表上的两条线,其中一种类型的数据可能没有一个月的数据,但另一种类型的数据有。对于那些不存在于其中一个或另一个中的点,我想将线在 Y 轴上下降到 0,然后返回到下一个值。 https://github.com/rmgreenstreet/custom-forms/blob/master/public/javascripts/canvasRender.js
【问题讨论】:
-
您的问题不是缺少键,而是数组中缺少值。这与您链接到的问题完全不同。
-
@Barmar 已删除
标签: javascript arrays object