Mat*_*rym 6 javascript arrays jquery loops associative-array
如果我有两个关联数组,那么对它们的值进行差异的最有效方法是什么?
例如,给定:
array1 = {
foreground: 'red',
shape: 'circle',
background: 'yellow'
};
array2 = {
foreground: 'red',
shape: 'square',
angle: '90',
background: 'yellow'
};
Run Code Online (Sandbox Code Playgroud)
我如何检查另一个,以便缺少 或 附加的项目是结果数组.在这种情况下,如果我想比较array2中的array1,它将返回:
array3 = {shape: 'circle'}
Run Code Online (Sandbox Code Playgroud)
虽然如果我在array1中比较array2,它将返回:
array3 = {shape: 'square', angle: '90'}
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助!
试试这个:
function diff(obj1, obj2) {
var result = {};
$.each(obj1, function (key, value) {
if (!obj2.hasOwnProperty(key) || obj2[key] !== obj1[key]) {
result[key] = value;
}
});
return result;
}
Run Code Online (Sandbox Code Playgroud)