Javascript 将2个jSON文件与相同的对象进行比较
所以我有两个jSON文件,都有相同的设置和相同的对象,不同的是一个有未更新的旧数据,另一个有实时更新的实时数据,我想用新数据减去旧数据,然后输出结果 我使用的代码不成功:Javascript 将2个jSON文件与相同的对象进行比较,javascript,jquery,json,get,getjson,Javascript,Jquery,Json,Get,Getjson,所以我有两个jSON文件,都有相同的设置和相同的对象,不同的是一个有未更新的旧数据,另一个有实时更新的实时数据,我想用新数据减去旧数据,然后输出结果 我使用的代码不成功: jQuery.getJSON(liveDataURL, function(liveData){ jQuery.getJSON(oldDataURL, function(oldData){ liveData.sort(function(a, b){ return a.numb
jQuery.getJSON(liveDataURL, function(liveData){
jQuery.getJSON(oldDataURL, function(oldData){
liveData.sort(function(a, b){
return a.number - b.number;
}).reverse();
oldData.sort(function(a, b){
return a.number - b.number;
}).reverse();
var newList = liveData.number - oldData.number;
console.log(newList);
});
感谢您的帮助
var newList = liveData.number - oldData.number;
这是一种错误的方法来找出列表之间的差异。
只要这样做,如果你想找出数字的差异
假设两个列表的长度相同
var newList = [];
for (var i = 0; i < liveData.length; i++){
newList.append(liveData[i].number - oldData[i].number);
}
var newList=[];
对于(var i=0;i你说的减法是什么意思
a={foo:17,bar:12,baz:false}
b={foo:17,bar:10}
“a-b”是什么意思
假设:
“a-b”:={bar:12,baz:false}
类似这样的方法会奏效:
const delta = (a, b) => {
const d = {};
Object.keys(a).forEach(key => {
if (typeof a[key] === 'object') {
d[key] = delta(a[key], b[key] || {});
if (d[key] === undefined) {
delete d[key];
}
} else {
if (a[key] !== b[key]) {
d[key] = a[key];
}
}
});
return Object.keys(d).length ? d : undefined;
};
我的解决方案不处理数组:-)-读者练习。“returna.number-b.number”返回一个过滤结果,首先显示数字最高的结果。首先,我用它来为我的列表排序最高的数量,然后我想将两个列表的结果相互减去。