你可以将它们存储的地图内:
var vars = {
original: {
var1: ...,
var2: ...,
...
},
updated: {
var1: ...,
var2: ...,
...
}
};
你最终写入更新值vars.updated
(所以例如vars.updated.var1
)。
之后,您可以简单地循环检测是否有任何变化。
var changed = false;
var keys = Object.keys(vars.original);
var i = 0;
while(!changed && i < keys.length) {
var key = keys[i];
changed = (vars.original[key] !== vars.updated[key]);
i++;
}
你也可以做到这一点在使用reduce
一个功能更强大的方式:
var similar = Object.keys(vars.original).reduce(function(similar, key) {
return similar && (vars.original[key] === vars.updated[key]);
}, true);
它比循环更优雅。请注意,这告诉你如果对象还没有更改(上述while
告诉你他们是否已已更改)。
codereview.stackexchange.com –
他们是数字还是字符串? –
@VivinPaliath它们都是整数。 – user3845866