比较JavaScript中的两个数据

时间:2018-11-30 16:00:43

标签: javascript node.js vue.js

我每分钟都使用 AWS 足球实时API 获取数据。我想将新数据与旧数据进行比较。每个数据都是一个数组,因此将比较两个JavaScript数组。

如果新值发生变化,该值将在Vue.js前端显示给用户。例如,当目标射击从3增加到4时,将向用户发出警报。

但是,我正在努力使用该算法。哪个库或功能可以解决我的问题?

1 个答案:

答案 0 :(得分:0)

更像是您想知道两个完全相同的javascript结构之间的差异。当我想找出增量时,通常使用deep-object-diff。它具有多种差异功能。

来自npmjs的示例:

const lhs = {
  foo: {
    bar: {
      a: ['a', 'b'],
      b: 2,
      c: ['x', 'y'],
      e: 100 // deleted
    }
  },
  buzz: 'world'
};

const rhs = {
  foo: {
    bar: {
      a: ['a'], // index 1 ('b')  deleted
      b: 2, // unchanged
      c: ['x', 'y', 'z'], // 'z' added
      d: 'Hello, world!' // added
    }
  },
  buzz: 'fizz' // updated
};

console.log(detailedDiff(lhs, rhs));

/*
{
  added: {
    foo: {
      bar: {
        c: {
          '2': 'z'
        },
        d: 'Hello, world!'
      }
    }
  },
  deleted: {
    foo: {
      bar: {
        a: {
          '1': undefined
        },
        e: undefined
      }
    }
  },
  updated: {
    buzz: 'fizz'
  }
}
*/