使用jquery比较数组中的两个对象并插入缺少的元素

时间:2015-11-13 10:42:47

标签: jquery arrays

我在数组中有多个对象,我想让每个对象中的元素相同

2008-Edad 15 a 64 años: 0.2270297 & 2009-Edad 15 a 64 años: 0.211827 

我想比较这些数组并在第二个数组中插入缺失值,即

gca

但值为0

这样我想让数组中的所有对象相似

请帮助;

2 个答案:

答案 0 :(得分:1)

以下是您如何做到这一点的示例。你会发现,在测试数组上执行了normalizeArray之后,数组中的第二个对象将具有" second"属性初始化为0. Here's a fiddle of it working.

function mergeObject(from, to) {
  for(var prop in from) {
    if (typeof(to[prop]) === 'undefined') {
      to[prop] = 0;
    }
  }

  return to;
}

function normalizeArray(arr) {
  var schema = {};
  for(var i = 0; i < arr.length; i++) {
    schema = mergeObject(arr[i], schema);
  }

  for(var i = 0; i < arr.length; i++) {
    arr[i] = mergeObject(schema, arr[i]);
  }
}

var test1 = {
  first: 1,
  second: 2,
  third: 3
}

var test2 = {
  first: 1,
  third: 3
}

var testArray = [test1, test2];

normalizeArray(testArray);

答案 1 :(得分:0)

只需比较数组;

            var array1 = [1,2,3,4,5],
                array2 = [5,4,3,2,1],
                array3 = [1,2,,6,7,8];

            function compareArrays(arr1, arr2) {
                return $(arr1).not(arr2).length == 0 && $(arr2).not(arr1).length == 0
            };