你可以將它們存儲的地圖內:
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